changed rotation method to use quaternion.
renamed