diffuse
update