perform fetch before writing cache