introduce cart item state