This document proposes extending the page object pattern by introducing page fragments. It suggests breaking pages into smaller fragments that can then be grouped into larger fragments and reused. Fragments would inherit methods from child fragments and could be collected into custom collections with additional methods. Fragments may also inherit from web elements to be passed as parameters. This approach aims to improve code reuse, stability, readability and flexibility, but requires strong object-oriented skills and results in more code. Examples are provided in Protractor and TypeScript.