chapter 2 : add runWithFixedTimeSteps/runWithVariableTimeSteps