refactored ArchiveDirectory class 2