Added Quaternion class