added *_propagation callbacks