documented upload widget