added a generator to yield unique targets