Upload feature

Merge Upload feature to master.