Archive class refactored