There has to be a good traversal that does this.