Refacoring! Rotation now works a bit better.