more work on generator