process_page() first pass