diffusion tested and working