add state for Monad