implement async upload data to server