def add_or_append(base_dict, key, value, conditional=True):
    """
    Add or append a value to a dictionary

    Args:
        base_dict (dict): The existing dictionary to modify
        key (string): The key to add or append to
        value (string): The value to give that key
        [Optional] conditional (bool): exclusion parameter

    Returns (dict): A new dictionary with the provided key/value pair added
    """

    new_dict = {x: base_dict[x] for x in base_dict}
    """Check if the key already exists"""
    if key in new_dict:
        if conditional:
            """Append the value to the existing array"""
            if value not in new_dict[key]:
                new_dict[key].append(value)
    else:
        """Add the new value"""
        new_dict[key] = [value]

    return new_dict