multiupload component refactoring