First attempt at adding diffusion term, still untested.