add a generator demo