traverse tables