what if newValue is undefined? shouldn't you delete the value, if this happens?