removed recursive generator.