-add quaternion class