add CRUD functionality to controllers