Traverse rewrite again

See what you can do with this Chris ;-)