canyvalue add keys isObject ...