add nextStep function