domain model and simple service