Adding diffusion. WIP