added file cache support