Reorganizing and making the reverse method direct
Implemented Rotate that takes negative number too