First draft of the ProductService