Moving BigDecimal support to custom data type