generator exercises 1 and 2