refactored archive