Code refactoring

Rename all interfaces without I and delete fix add warnings and
made a lot of TODO