adding exercise: Product grid with sorting