refactor: simplify to just have 1 upload method