refactoring, zip uploading support