modify download and upload