Refactored domain objects