Doing another level of abstraction for the pages