changed to quaternion rotations and renamed vector classes