all amounts represented by BigDecimal instead of double