re-structured basic iterators