added getiterator()