Refactored code, added CallBack and started upload code