upload file & refactor