add RangeIterator