def METHOD_NAME(action):
    # Clean up some acronyms
    match = re.match(r"^FN(\d+): (ZERO|INDETERMINATE)?\((\w+)\)", action)
    if match:
        num = match.group(1)
        if match.group(2) == "ZERO":
            impact = "No fiscal impact"
        elif match.group(2) == "INDETERMINATE":
            impact = "Indeterminate fiscal impact"
        else:
            impact = ""
        dept = match.group(3)
        dept = _fiscal_dept_mapping.get(dept, dept)
        action = "Fiscal Note {num}: {impact} ({dept})".format(
            num=num, impact=impact, dept=dept
        )
    match = _comm_re.match(action)
    if match:
        _current_comm = match.group(1)
    match = re.match(r"^(DP|DNP|NR|AM):\s(.*)$", action)
    if match:
        vtype = _comm_vote_type[match.group(1)]
        action = f"{_current_comm} {vtype}: {match.group(2)}"
    match = re.match(r"^COSPONSOR\(S\): (.*)$", action)
    if match:
        action = f"Cosponsors added: {match.group(1)}"
    match = re.match("^([A-Z]{3,3}), ([A-Z]{3,3})$", action)
    if match:
        action = f"REFERRED TO {_comm_mapping[match.group(1)]} and"
        "{_comm_mapping[match.group(2)]}"
    match = re.match("^([A-Z]{3,3})$", action)
    if match:
        action = f"REFERRED TO {_comm_mapping[action]}"
    match = re.match("^REFERRED TO (.*)$", action)
    if match:
        comms = match.group(1).title().replace(" And ", " and ")
        action = f"REFERRED TO {comms}"
    action = re.sub(r"\s+", " ", action)
    action = action.replace("PREFILE RELEASED", "Prefile released")
    atype = []
    for action_key, data in _actions.items():
        # If regex is required to isolate bill action phrase
        if data["type"] == "regex":
            if re.search(action_key, action.lower()):
                atype.extend(a for a in data["mappings"])
        # Otherwise, we use basic string comparison
        else:
            # If we can detect a phrase that there is an OS action classification for
            if action_key in action.lower():
                atype.extend(a for a in data["mappings"])
                # Some cleaning that was done in the original code
                if "TRANSMITTED TO GOVERNOR" in action:
                    action = action.replace(
                        "TRANSMITTED TO GOVERNOR", "Transmitted to Governor"
                    )
                if "SIGNED INTO LAW" in action:
                    action = action.replace("SIGNED INTO LAW", "Signed into law")
    # These classifications are being done separately because they require more rules for
    # an accurate classification
    if "failed" in action.lower() and "am no" not in action.lower():
        atype.append("failure")
    elif "failed" in action.lower() and "am no" in action.lower():
        atype.append("amendment-failure")
    elif "adopted" in action.lower() and "am no" in action.lower():
        atype.append("amendment-passage")
    return action, atype