Now with use of monad loops