modify Quaternion class