integrate add to cart function