with a generator