re-apply the can_apply logic and dependency on promo change