#33 added doUpload method