recursively replacing set value