fix cart bug