file upload and image gathering