finished insertion and deletion. TODO: level-order traversal