Added upload functionality and progress