Add zip downloading and some design fix

I know this code is ugly, but i really can't do more :smile_cat: