finished domain model and one unit test
domain model