functor impl for iteratee