page model refactoring