should be able to stop at the root