initial commit
forward step
backward step