if local cache fails, do network request