separated CRUD from controllers