complete geo and quaternion functions