iterative in-order traversal