add upload interface