working new update method