add upload function
add upload function