add provisional CRUD API implementation (untested)