should be a generator