generator first attempt