          if root.left is None:
              root.left = Node(data)
          else:
              return insert(root.left, data)
      else:
          if root.right is None:
              root.right = Node(data)
              root.right.parent = root
 
</s> remove             insert(root.left, data)
 </s> add             return insert(root.left, data) </s> remove             insert(root.right, data) </s> add 
            root.left.parent = root
            return root.left
          if root.left is None:
              root.left = Node(data)
            root.left.parent = root
            return root.left
          else:
              return insert(root.left, data)
      else:
          if root.right is None:
              root.right = Node(data)
              root.right.parent = root
keep add keep keep keep keep keep keep
 Updated bst to keep track of its parent and to return the node it inserts. 
graphs_trees/bst/bst.py