if bigger than the number of steps, why prefiousStep is the same than the currentStep, can this cause problems?