more work on collection iterators