Refactored uploader to its own component pt2