Added direct upload and tests