avl, copy from bst
kmp, temporary