removed dependency on iteratee