first pass at pagination, lots to do