CRUD code moved to service layer