added unarchive function3