def tree_creator(arr, parent=None):
    # if arr is empty
    if len(arr) == 0:
        return None

    node = Node(arr[0])
    node.parent = parent

    # if there is only one node in the array
    if len(arr) == 1:
        return node

    subArr = arr[1:]
    left = []
    right = []
    for i in range(len(subArr)):
        if subArr[i] < node.data:
            left.append(subArr[i])
        else:
            right = subArr[i:]
            break

    node.left = tree_creator(left, node)
    node.right = tree_creator(right, node)

    return node