diff --git a/agent_based/checkpoint_vsx.ps b/agent_based/checkpoint_vsx.ps
deleted file mode 100644
index 8d4953756c495e7b5dde1a3ad045c7ce5dc25614..0000000000000000000000000000000000000000
--- a/agent_based/checkpoint_vsx.ps
+++ /dev/null
@@ -1,249 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-#
-# License: GNU General Public License v2
-#
-# Author: thl-cmk[at]outlook[dot]com
-# URL   : https://thl-cmk.hopto.org
-# Date  : 2017-17-05
-#
-# Check Point vsx Cluster status
-#
-# Monitor status of virtual systems in Check Point vsx/vsls cluster
-#
-# 2018-08-03: changed snmp scan function
-# 2018-08-13: code cleanup, add metrics
-# 2020-06-08: changed snmp-scan function
-# 2021-09-06: rewritten for CMK 2.0
-#
-# snmpwalk sample
-#
-# .1.3.6.1.4.1.2620.1.16.22.1.1.1.3.0 = Gauge32: 2
-# .1.3.6.1.4.1.2620.1.16.22.1.1.2.3.0 = Gauge32: 2
-# .1.3.6.1.4.1.2620.1.16.22.1.1.3.3.0 = STRING: "HRI"
-# .1.3.6.1.4.1.2620.1.16.22.1.1.4.3.0 = STRING: "Virtual System"
-# .1.3.6.1.4.1.2620.1.16.22.1.1.5.3.0 = STRING: "10.140.1.3"
-# .1.3.6.1.4.1.2620.1.16.22.1.1.6.3.0 = STRING: "Standard"
-# .1.3.6.1.4.1.2620.1.16.22.1.1.7.3.0 = STRING: "Active"
-# .1.3.6.1.4.1.2620.1.16.22.1.1.8.3.0 = STRING: "Trust established"
-# .1.3.6.1.4.1.2620.1.16.22.1.1.9.3.0 = STRING: "Standby"
-# .1.3.6.1.4.1.2620.1.16.22.1.1.10.3.0 = Gauge32: 0
-#
-# .1.3.6.1.4.1.2620.1.16.23.1.1.2.3.0 = Gauge32: 40
-# .1.3.6.1.4.1.2620.1.16.23.1.1.3.3.0 = Gauge32: 864
-# .1.3.6.1.4.1.2620.1.16.23.1.1.4.3.0 = Gauge32: 14900
-# .1.3.6.1.4.1.2620.1.16.23.1.1.5.3.0 = STRING: "69459"
-# .1.3.6.1.4.1.2620.1.16.23.1.1.6.3.0 = STRING: "2405"
-# .1.3.6.1.4.1.2620.1.16.23.1.1.7.3.0 = STRING: "67054"
-# .1.3.6.1.4.1.2620.1.16.23.1.1.8.3.0 = STRING: "0"
-# .1.3.6.1.4.1.2620.1.16.23.1.1.9.3.0 = STRING: "4228862"
-# .1.3.6.1.4.1.2620.1.16.23.1.1.10.3.0 = STRING: "72445"
-# .1.3.6.1.4.1.2620.1.16.23.1.1.11.3.0 = STRING: "0"
-# .1.3.6.1.4.1.2620.1.16.23.1.1.12.3.0 = STRING: "7074"
-# .1.3.6.1.4.1.2620.1.16.23.1.1.13.3.0 = INTEGER: 0
-#
-import time
-from dataclasses import dataclass
-from typing import List, Dict, Optional, Tuple
-
-from cmk.base.plugins.agent_based.agent_based_api.v1 import (
-    register,
-    Service,
-    Result,
-    State,
-    SNMPTree,
-    all_of,
-    startswith,
-    any_of,
-    equals,
-    Metric,
-    get_value_store,
-    get_rate,
-    GetRateError,
-)
-from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import (
-    DiscoveryResult,
-    CheckResult,
-    StringTable,
-)
-
-
-@dataclass
-class CheckpointVsx:
-    vsxStatusVSId: str
-    vsxStatusVsType: str
-    vsxStatusMainIP: str
-    vsxStatusPolicyName: str
-    vsxStatusVsPolicyType: str
-    vsxStatusSicTrustState: str
-    vsxStatusHAState: str
-    vsxStatusVSWeight: str
-    vsxCountersConnNum: int
-    vsxCountersConnPeakNum: int
-    vsxCountersConnTableLimit: int
-    vsxCountersIsDataValid: str
-    metrics_rate: List[Tuple[str, int]]
-
-
-def parse_checkpoint_vsx(string_table: StringTable) -> Optional[Dict[str, CheckpointVsx]]:
-    vsx_systems = {}
-    for entry in string_table:
-        try:
-            vsxStatusVSId, vsxStatusVsName, vsxStatusVsType, vsxStatusMainIP, vsxStatusPolicyName, vsxStatusVsPolicyType, \
-            vsxStatusSicTrustState, vsxStatusHAState, vsxStatusVSWeight, vsxCountersConnNum, vsxCountersConnPeakNum, \
-            vsxCountersConnTableLimit, vsxCountersPackets, vsxCountersDroppedTotal, vsxCountersAcceptedTotal, \
-            vsxCountersRejectedTotal, vsxCountersBytesAcceptedTotal, vsxCountersBytesDroppedTotal, \
-            vsxCountersBytesRejectedTotal, vsxCountersLoggedTotal, vsxCountersIsDataValid = entry
-        except ValueError:
-            return
-        if vsxStatusVsType.lower in ['virtual system']:  # , 'vsx gateway', 'virtual switch', 'virtual router'
-            vsx_systems[vsxStatusVsName] = CheckpointVsx(
-                vsxStatusVSId=vsxStatusVSId,
-                vsxStatusVsType=vsxStatusVsType,
-                vsxStatusMainIP=vsxStatusMainIP,
-                vsxStatusPolicyName=vsxStatusPolicyName,
-                vsxStatusVsPolicyType=vsxStatusVsPolicyType,
-                vsxStatusSicTrustState=vsxStatusSicTrustState,
-                vsxStatusHAState=vsxStatusHAState,
-                vsxStatusVSWeight=vsxStatusVSWeight,
-                vsxCountersConnNum=int(vsxCountersConnNum),
-                vsxCountersConnPeakNum=int(vsxCountersConnPeakNum),
-                vsxCountersConnTableLimit=int(vsxCountersConnTableLimit),
-                vsxCountersIsDataValid=vsxCountersIsDataValid,
-                metrics_rate=[
-                    ('vsxCountersPackets', int(vsxCountersPackets)),
-                    ('vsxCountersDroppedTotal', int(vsxCountersDroppedTotal)),
-                    ('vsxCountersAcceptedTotal', int(vsxCountersAcceptedTotal)),
-                    ('vsxCountersRejectedTotal', int(vsxCountersRejectedTotal)),
-                    ('vsxCountersBytesAcceptedTotal', int(vsxCountersBytesAcceptedTotal)),
-                    ('vsxCountersBytesDroppedTotal', int(vsxCountersBytesDroppedTotal)),
-                    ('vsxCountersBytesRejectedTotal', int(vsxCountersBytesRejectedTotal)),
-                    ('vsxCountersLoggedTotal', int(vsxCountersLoggedTotal)),
-                ],
-            )
-    return vsx_systems
-
-
-def discovery_checkpoint_vsx(section: Dict[str, CheckpointVsx]) -> DiscoveryResult:
-    for key in section.keys():
-        yield Service(
-            item=key,
-            parameters={'policyname': section[key].vsxStatusPolicyName, 'ha_state': section[key].vsxStatusHAState}
-        )
-
-
-def check_checkpoint_vsx(item, params, section: Dict[str, CheckpointVsx]) -> CheckResult:
-    try:
-        vsx = section[item]
-    except KeyError:
-        yield Result(state=State.UNKNOWN, notice='Item not found in SNMP data')
-        return
-
-    now_time = time.time()
-    value_store = get_value_store()
-    raise_ingore_res = False
-
-    for key, value in vsx.metrics_rate:
-        try:
-            value = get_rate(value_store, f'checkpoint_vsx_{key}', now_time, int(value), raise_overflow=True)
-        except GetRateError:
-            raise_ingore_res = True
-            value = 0
-        yield Metric(name=f'checkpoint_vsx_{key}', value=value, boundaries=(0, None))
-
-    # system information
-    yield Result(state=State.OK, summary=f'IP: {vsx.vsxStatusMainIP}, VS ID: {vsx.vsxStatusVSId}')
-    # Counters
-    # infotext = f'Connections: {vsx.vsxCountersConnNum:.0f}, ' \
-    #            f'Packets prosessed: {vsx.vsxCountersPackets:.0f}/s, ' \
-    #            f'Logs send: {vsx.vsxCountersLoggedTotal:0.2f}/s')
-
-    yield Result(state=State.OK, notice=f'System name: {item}')
-    yield Result(state=State.OK, notice=f'H/A status: {vsx.vsxStatusHAState}')
-    yield Result(state=State.OK, notice=f'Virtual system ID {vsx.vsxStatusVSId}')
-    yield Result(state=State.OK, notice=f'Type {vsx.vsxStatusVsType}')
-    yield Result(state=State.OK, notice=f'Weight {vsx.vsxStatusVSWeight}')
-    yield Result(state=State.OK, notice=f'Main IP {vsx.vsxStatusMainIP}')
-    yield Result(state=State.OK, notice=f'Policy name {vsx.vsxStatusPolicyName}')
-    yield Result(state=State.OK, notice=f'Policy type {vsx.vsxStatusVsPolicyType}')
-    yield Result(state=State.OK, notice=f'SIC status {vsx.vsxStatusSicTrustState}')
-
-    yield Result(state=State.OK, notice=f'Conn table limit {vsx.vsxCountersConnTableLimit}')
-    yield Result(state=State.OK, notice=f'Is data valid {vsx.vsxCountersIsDataValid}')
-
-    if vsx.vsxCountersConnTableLimit > 0:
-        yield Metric(value=vsx.vsxCountersConnNum, name='connections', boundaries=(0, vsx.vsxCountersConnTableLimit))
-    else:
-        yield Metric(value=vsx.vsxCountersConnNum, name='connections')
-    yield Metric(value=vsx.vsxCountersConnPeakNum, name='connections_peak')
-
-    if not vsx.vsxStatusHAState.lower() in ['active', 'standby']:
-        yield Result(state=State.WARN, notice=f'Status: {vsx.vsxStatusHAState}')
-    else:
-        yield Result(state=State.OK, summary=f'Status: {vsx.vsxStatusHAState}')
-    if not vsx.vsxStatusSicTrustState.lower() in ['trust established']:
-        yield Result(state=State.WARN, notice='SIC not established')
-    if not vsx.vsxStatusVsPolicyType.lower() in ['active']:
-        yield Result(state=State.CRIT, notice='No policy installed')
-    if params.get('policyname', 'unknown') != vsx.vsxStatusPolicyName:
-        yield Result(
-            state=State.WARN,
-            notice=f'Policy name changed: expected {params["policyname"]}, found {vsx.vsxStatusPolicyName}'
-        )
-    if params.get('ha_state', 'unknown') != vsx.vsxStatusHAState:
-        yield Result(
-            state=State.WARN,
-            notice=f'State changed: expected/found {params["ha_state"]}/{vsx.vsxStatusHAState}'
-        )
-
-
-register.snmp_section(
-    name='checkpoint_vsx',
-    parse_function=parse_checkpoint_vsx,
-    fetch=SNMPTree(
-        base='.1.3.6.1.4.1.2620.1.16',  # CHECKPOINT-MIB::vsxStatusVSId
-        oids=[
-            '22.1.1.3',  # vsxStatusVsName
-            '22.1.1.4',  # vsxStatusVsType
-            '22.1.1.5',  # vsxStatusMainIP
-            '22.1.1.6',  # vsxStatusPolicyName
-            '22.1.1.7',  # vsxStatusVsPolicyType
-            '22.1.1.8',  # vsxStatusSicTrustState
-            '22.1.1.9',  # vsxStatusHAState
-            '22.1.1.10',  # vsxStatusVSWeight
-            '23.1.1.2',  # vsxCountersConnNum
-            '23.1.1.3',  # vsxCountersConnPeakNum
-            '23.1.1.4',  # vsxCountersConnTableLimit
-            '23.1.1.5',  # vsxCountersPackets
-            '23.1.1.6',  # vsxCountersDroppedTotal
-            '23.1.1.7',  # vsxCountersAcceptedTotal
-            '23.1.1.8',  # vsxCountersRejectedTotal
-            '23.1.1.9',  # vsxCountersBytesAcceptedTotal
-            '23.1.1.10',  # vsxCountersBytesDroppedTotal
-            '23.1.1.11',  # vsxCountersBytesRejectedTotal
-            '23.1.1.12',  # vsxCountersLoggedTotal
-            '23.1.1.13',  # vsxCountersIsDataValid
-        ]),
-
-    detect=  # all_of(
-    any_of(
-        startswith('.1.3.6.1.2.1.1.2.0', '.1.3.6.1.4.1.2620'),
-        all_of(
-            equals('.1.3.6.1.2.1.1.2.0', '.1.3.6.1.4.1.8072.3.2.10'),
-            equals('.1.3.6.1.4.1.2620.1.6.1.0', 'SVN Foundation'),
-        )
-    ),
-    # startswith('.1.3.6.1.4.1.2620.1.2.1.0', 'IPSec VPN')
-    # )
-)
-
-register.check_plugin(
-    name='checkpoint_vsx',
-    service_name='VSX System %s',
-    discovery_function=discovery_checkpoint_vsx,
-    check_function=check_checkpoint_vsx,
-    check_ruleset_name='checkpoint_vsx',
-    check_default_parameters={
-        'vsType': ['virtual system', 'vsx gateway', 'virtual switch', 'virtual router']
-    },
-)