change some structure of the program for support random coupons based on users likes