use Decimal not float for numbers