finished the productService