fix coupon validation bugs