page architecture refactor