new model with unit tests and working REST api