added page sub-generator