Played with it some more
Implemented traversals with callback functions