refactoring utility zip unzip function
implement unarchive interface
update test case