add reader Monad