add working update method