working out generators