add shopping cart: long polling