added SetIterator