def bk_search(search_string, tree, threshold=0):
    """
    Search tree for all strings within supplied threshold value from search
    string.

    Parameters
    ----------
    search_string : str
        search string
    tree : BKTree
        tree to search
    threshold : int
        maximum string distance for returned matches

    Return values
    -------------
    matches : list
        list of strings containing matches from tree, where first item is
        threshold value
    """
    matches = [threshold]
    tree.root.recursive_search(search_string, threshold, matches,
                               tree.metric)

    return matches