add ideal method for time per step algorithm