add subgenerator component