added page subgenerator