moving the update into the system class, and adding a fixed timestep option