updated domain model