begin diffusion