refactor page layout