the very beginning version of monads