first draft for generator