Adding model classes and unit tests
Merge branch 'models'