added diffusion matrix class