update function bugs