refactored ArchiveDirectory class