add the update function