Further refactored domain classes