add page abstraction