Implemented arbitrary rotation