carry propagation