uploading is asynchronous now