integrate uploading and storage.