if upload fails, use update