move uploading to an uploading module