update with dynamics