added QueueIterator