update with subgenerator