use goconvey and refactor upload/download progress