Implement coupons. Closes #5