add gecl

add getcl
update with diffuse

update with diffuse