Refactor object model

Refactor object model

Improve build, add dependencies