add model classes with unit tests