finished conversion to Iteratee