refactoring - CachedFile