recursive generation fixed