full CRUD support