generator work