complete changes for new Cart::Cost