isolate page list generation
don't show all pages if too many