drag and drop upload; base64 zip from client; better client; better example page