Implemented diffusion class