refactor page object