The customer loyalty solution :what works and what doesn't in customer loyalty programs