Implement discounts. Closes #6