re-working uploader