setting up domain model