added solve_one_step