Change many things.

but the function of uploade is unfinished.