added diffusion