delete and update need debugging