added quaternion dot product