some changes to diffuse