add upload function and filelist function