refactoring cacher, adding in cacheFile