fix uplaod function