Upload WIP
Initial version of upload working. Definitely a work in progress.