added buy product functionality