Fixed double-adding of first position
I was adding it once in the move() and once after the reverse()