fix bug: cart