added update function, so the observed model can run seperately