Refactoring API

Moved classes around trying ato find a better package layout
Simplified some class constructors