def get_dependent_tokens(sent,head,already_processed = []):
    """Return all words in sentence that are dependent on head.
    
    Args:       sent (list), head (Token)
    Returns:    dependent_tokens (list of Tokens)
    """

    # Get all dependent tokens
    dependent_tokens = [k for k in sent if (k.head == head.id) \
                                        and k not in already_processed] 

    # If no dependent tokens, return empty list
    if not dependent_tokens:
        return []
        
    # For all dependent tokens, get their dependent tokens (recursion)
    else:
        for k in dependent_tokens:             
                new_dep_tokens = get_dependent_tokens(sent,k, dependent_tokens)
                dependent_tokens += new_dep_tokens
 
        return dependent_tokens