allow update to be None