add page factory