the second version about nstep