added upload and uploadAndUpdate