Refactored domain classes.