centralized propagate