add valueObj
invert complete