push-diffusion