Better component subgenerator