update doc comment: `total_pages` method optional