refactor & starting with coupons