Here's a start on traversal.