fix a bug: use both new roots and unchanged roots when running the get function