update the update function