make product list dynamic