generator
generator created and some structural changes