added add product functions