added monads outline