working update/delete functions