add ability to pass data down the tree traversal
add mtdu