add assign upload function