M-H algo, now using monads for random