refactored process() to page()