implementing balances internally as BigDecimal and deposits as strings