upload functionally finished