def _diff_bearings(bearings, bearing_thresh=40):
    """
    Identify kinked nodes (nodes that change direction of an edge) by diffing
    Args:
        bearings (list(tuple)): containing (start_node, end_node, bearing)
        bearing_thresh (int): threshold for identifying kinked nodes (range 0, 360)
    Returns:
        list[str] of kinked nodes
    """

    kinked_nodes = []

    # diff bearings
    nodes = [b[0] for b in bearings]
    bearings_comp = [b[2] for b in bearings]
    bearing_diff = [y - x for x, y in zip(bearings_comp, bearings_comp[1:])]
    node2bearing_diff = list(zip(nodes[1:-1], bearing_diff))

    # id nodes to remove
    for n in node2bearing_diff:
        # controlling for differences on either side of 360
        if min(abs(n[1]), abs(n[1] - 360)) > bearing_thresh:
            kinked_nodes.append(n[0])

    return kinked_nodes