restructured domain model