initial commit
refactored so discounts are applied in the right order and stack