Diffusion science