Add quaternion class