Refactored the domain models