add simple unit test
a little cleanup
refactor DataModel a little bit more

fix DataModelTest