ICC library

Palaio Faliro's final deliverable
Kavala's final deliverable