updated diffusion