added a randomized performance test - has uncovered a major issue with rounding need to fix that