added comonad