more work on roots and on grapher