enhance CRUD