added getById() to abstract domain model