Updated all floats to BigDecimal to avoid

loss of precision.