add upload-download feature, edit .gitignore