add local cache support