use cases, domain model