wip - pages abstraction