Improved folder/namespace layout
Reducing compilation time

Reducing compilation time with number of instantiations, some
refactoring and other improvements