better pagination handling - taking advantage of django's paginaton functionality