major update due to incorrect dataset.
new functions...all util function.
quaternions clean up (again) (q = [w x y z]) amd minor changes