tidied up CRUD