update method implementation