self: add self upload