refactoring file system