introduced PageElementFactory