Iterators Refactoring