add product partial