Change to new API layout

Redid API design to use better packages