implement hacky update method using delete first