Refactored domain classes