add timestep ctor and step function