add level-order traversal