Added quaternion class