new tree and string algos