tree experiments...found best practise (except for perhaps external recursion directive)