fixed update functionality