Added a Quaternion class