working on Generator