added __getitem__ to base iterator
added reset to iterators
added __len__ to base iterator