recreated problems due to bug when originally created
changed simulator to work with Decimal rather than float due to equality testing of floats