refactor Archiver