pagination, first pass