finished basic quaternion operations