fix cart caching bug