add uploader functionality (work in progress)