completed untested versions of insert/update/delete