fixed update functions