added comonad dependancy