implemented percent discount
got stuck with promotion rules
almost got correct results, except the rounding error