zip and unzip forked from infozip
