overload upload to support more method signatures