Added functionality for abstract CRUD