avoid creating too many Root objects as it causes significant slow down
add catch for weird pathology that should not happen