revise upload