changed precaching system