editorial changes
refactored domain object into separate files