updated weight to BigDecimal