def METHOD_NAME(layout):
    for pretty_name in EXTRA_ADDONS:
        addon = EXTRA_ADDONS[pretty_name]
        b = layout.box()
        b.label(text=pretty_name)
        if addon['name'] in ADDON_LIST:
            addon_name = addon['name']
        elif addon['name'].replace('_', '-') in ADDON_LIST:
            addon_name = addon['name'].replace('_', '-')
        elif addon['name']+'-'+ addon['branch'] in ADDON_LIST:
            addon_name = addon['name']+'-'+ addon['branch']
        elif addon['name'].replace('_', '-')+'-'+ addon['branch'] in ADDON_LIST:
            addon_name = addon['name'].replace('_', '-')+'-'+ addon['branch']
        else:
            addon_name = False
        # print(addon_name)  # this prints constantly False if extra-addons isn't installed
        if addon_name:
            loaded_default, loaded_state = addon_utils.check(addon_name)
            if loaded_state:
                op = b.operator('preferences.addon_disable')
                op.module = addon_name
                try:
                    module = importlib.import_module(addon['name'])
                    if hasattr(module, 'settings'):
                        if hasattr(module.settings, 'draw_in_sv_prefs'):
                            module.settings.draw_in_sv_prefs(b)
                        if hasattr(module.settings, 'update_addon_ui'):
                            row = b.row()
                            module.settings.update_addon_ui(row)
                except ModuleNotFoundError:
                    addon_name = False
            else:
                op = b.operator('preferences.addon_enable')
                op.module = addon_name
        if not addon_name:
            b.label(text=addon['description'])
            op = b.operator('node.sverchok_download_addon', text=f'Download {pretty_name}')
            op.master_branch_name = addon['branch']
            op.archive_link = addon['archive_link']