source fix/propagation subfunction