i'm confused on how you initialize the m\_parent to point to the node above the child.

```
    class Node
{
public:
    Node(string city);
    ~Node();
    string m_city;
    int m_parent_distance;
    Node *m_left;
    Node *m_right;
    Node *m_parent;
};
Node *m_root;
//void test_print(string target, Node *cur_root);
Node * find_node(Node *m_root, string target);

```

this is the node constructor

```
    Stree::Node::Node(string city)
{
    m_city = city;
    m_left = NULL;
    m_right = NULL;
    //what do i do with m_parent??
    m_parent_distance = 0;
}

```