refactor page read