cached update