Design
domain model