Added basic model implementation and unit tests