Fixed-point arithmetic instead of BigDecimal