CRUD re-implemented