it's mostly working but is off by one penny do to a float error