(almost) full CRUD