def check_interfaces(interfaces):
    """
    Iterate over interfaces
        - If Admin state is "up" and Operational Link is "down"
        - Description is not None
        - Descriptions that do not start with '_' (underscore)
        - Return an array of what is left
    """

    down_interfaces = []

    for interface in interfaces:
        if interface.admin == 'up' and interface.oper == 'down':
            if interface.description is None or \
                    interface.description.startswith('_'):
                continue
            else:
                down_interfaces.append([interface.key, interface.admin,
                                        interface.oper, interface.description])

    return down_interfaces