might not work
refactored the names
runnable - without bigdecimal
work but slow
only works with small data sets, and without BigDecimal or good random
number generator