improved uploader