working model, except double math causes net increase in temp due to diffusion