improve: domain model case class