switch from BigDecimal to double