allow a function for the step_factor