improved file cache