Updated Quaternion class