product list with sort and pagination