File Upload refactoring and Implemetation changes