def meta_description_split(df, label_list):
    """Split ABS Description field into components.  Components are delimited with ";"
    
    Parameters
    ----------
    df : dataframe
        a 
    label_list : list
        contains labels for the delimited field in Description column

    Returns
    -------
    dataframe :
        with index of ABS Series ID and columns of the Description elements
    """

    def drop_last_column(df):
        """ABS Descriptions use ";" as separator and the last character is always a ";"
            Pandas doesn"t allow a lambda function in the drop columns, so this pipe funciton
        
        Parameters
        ----------
        df : dataframe
        
        Returns
        -------
        dataframe :
            
        """
        cols = df.columns
        return df.drop(columns=cols[-1])

    if "Description" not in df.columns:
        raise ValueError("'Description' not found in columns")

    df = (
        df.Description.str.split(pat=r" *; *", expand=True)
        .pipe(drop_last_column)
        .rename_axis(index="Series_ID", columns=None)
    )

    df.columns = label_list

    return df