remove dependency on Iterators