step_through function added