Accepts two OrganizationName objects and returns an arbitrary,
            numerical score based upon how well the names match.

def compare(cls, match, subject):
        """
            Accepts two OrganizationName objects and returns an arbitrary,
            numerical score based upon how well the names match.
        """
        if match.expand().lower() == subject.expand().lower():
            return 4
        elif match.kernel().lower() == subject.kernel().lower():
            return 3
        # law and lobbying firms in CRP data typically list only the first two partners
        # before 'et al'
        elif ',' in subject.expand():  # we may have a list of partners
            if subject.crp_style_firm_name() == str(match).lower():
                return 3
        else:
            return 2