optimisation subtrees find