more domain model stuff