create cache file if it doesn't exist