Reworked recursive traversals
Balanced