changes cleared recursively