domain -> entity