adding a bit more monad