complete traversal