A lot of page refactoring