Updated rotation function