setPromotion and caching updates