diff --git a/README.md b/README.md
index 8a0e902afb37e45fdb588dc7095d2a24f0ddf0ac..89ef4629e9c9231613b581b4ce2c767653f4fd11 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-[PACKAGE]: ../../raw/master/mkp/arista_bgp_peer-1.0.0-20230613.mkp "arista_bgp_peer-1.0.0-20230613.mkp"
+[PACKAGE]: ../../raw/master/mkp/arista_bgp_peer-1.0.1-20250329.mkp "arista_bgp_peer-1.0.1-20250329.mkp"
 # BGP peer
 
 Monitors the status of Arista Networks BGP peers (IPv4 and IPv6)
diff --git a/mkp/arista_bgp_peer-1.0.1-20250329.mkp b/mkp/arista_bgp_peer-1.0.1-20250329.mkp
new file mode 100644
index 0000000000000000000000000000000000000000..cf1b110cfdfdc5788d66e03a7a3a4b9bfef4523f
Binary files /dev/null and b/mkp/arista_bgp_peer-1.0.1-20250329.mkp differ
diff --git a/source/agent_based/arista_bgp_peer.py b/source/cmk_addons_plugins/bgp_peer/agent_based/arista_bgp_peer.py
similarity index 93%
rename from source/agent_based/arista_bgp_peer.py
rename to source/cmk_addons_plugins/bgp_peer/agent_based/arista_bgp_peer.py
index 2ac7500b0f7be58b8c44e1befb0fa8e7e320cbc8..86de5940e3beec1aa0a07dc2515b4d011df5a582 100644
--- a/source/agent_based/arista_bgp_peer.py
+++ b/source/cmk_addons_plugins/bgp_peer/agent_based/arista_bgp_peer.py
@@ -9,31 +9,30 @@
 #
 # Monitor status of Arista Networks BGP Peers (IPv4 and IPv6)
 #
-#
-#
+
+# 2025-03-29: moved to check APIv2 to prepare for CMK2.4
+
 
 import copy
-from typing import List, Dict, Optional, Tuple
 from dataclasses import dataclass
+from typing import Dict, List, Optional, Tuple
 
-from cmk.base.plugins.agent_based.agent_based_api.v1 import (
-    register,
-    SNMPTree,
-    startswith,
-    OIDEnd,
+from cmk.agent_based.v2 import (
     OIDBytes,
-)
-from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import (
+    OIDEnd,
+    SNMPSection,
+    SNMPTree,
     StringByteTable,
+    startswith,
 )
 
-from cmk.base.plugins.agent_based.utils.bgp_peer import (
+from cmk_addons.plugins.bgp_peer.lib.bgp_peer import (
     BgpPeer,
-    bgp_get_peer_entry,
     bgp_get_ip_address_from_oid,
+    bgp_get_peer_entry,
 )
 
-from cmk.base.plugins.agent_based.utils.arista_bgp_peer import (
+from cmk_addons.plugins.bgp_peer.lib.arista_bgp_peer import (
     arista_afi_safi_mapping,
 )
 
@@ -109,7 +108,7 @@ def parse_arista_bgp_peer(string_table: List[StringByteTable]) -> Optional[Dict[
     return peer_table
 
 
-register.snmp_section(
+snmp_section_arista_bgp_peer=SNMPSection(
     name='arista_bgp_peer',
     parse_function=parse_arista_bgp_peer,
     parsed_section_name='bgp_peer',
diff --git a/source/agent_based/inv_arista_bgp_peer.py b/source/cmk_addons_plugins/bgp_peer/agent_based/inv_arista_bgp_peer.py
similarity index 92%
rename from source/agent_based/inv_arista_bgp_peer.py
rename to source/cmk_addons_plugins/bgp_peer/agent_based/inv_arista_bgp_peer.py
index b6380f9bb1368473242911d58420d07f9869ff3e..175034968e6dc7e6495f2179fc2c16fd106e670a 100644
--- a/source/agent_based/inv_arista_bgp_peer.py
+++ b/source/cmk_addons_plugins/bgp_peer/agent_based/inv_arista_bgp_peer.py
@@ -9,29 +9,29 @@
 #
 # inventory of Arista Networks BGP Peers (IPv4 and IPv6)
 #
-#
+
+# 2025-03-29: moved to check APIv2 to prepare for CMK2.4
 
 
 from typing import List
-from cmk.base.plugins.agent_based.agent_based_api.v1 import (
-    register,
-    SNMPTree,
+from cmk.agent_based.v2 import (
     OIDBytes,
-    startswith,
     OIDEnd,
-)
-from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import (
+    SNMPSection,
+    SNMPTree,
     StringByteTable,
+    startswith,
 )
-from cmk.base.plugins.agent_based.utils.bgp_peer import (
+
+from cmk_addons.plugins.bgp_peer.lib.bgp_peer import (
     InvBgpPeer,
     bgp_error_as_string,
     bgp_error_code_as_hex,
+    bgp_get_ip_address_from_oid,
     bgp_render_ip_address,
     get_bgp_type,
-    bgp_get_ip_address_from_oid,
 )
-from cmk.base.plugins.agent_based.utils.arista_bgp_peer import (
+from cmk_addons.plugins.bgp_peer.lib.arista_bgp_peer import (
     arista_afi_safi_mapping,
 )
 
@@ -85,7 +85,7 @@ def parse_inv_arista_bgp_peer(string_table: List[StringByteTable]):
     return bgp_peers
 
 
-register.snmp_section(
+snmp_section_inv_arista_bgp_peer=SNMPSection(
     name='inv_arista_bgp_peer',
     parse_function=parse_inv_arista_bgp_peer,
     parsed_section_name='inv_bgp_peer',
diff --git a/source/agent_based/utils/arista_bgp_peer.py b/source/cmk_addons_plugins/bgp_peer/lib/arista_bgp_peer.py
similarity index 100%
rename from source/agent_based/utils/arista_bgp_peer.py
rename to source/cmk_addons_plugins/bgp_peer/lib/arista_bgp_peer.py
diff --git a/source/packages/arista_bgp_peer b/source/packages/arista_bgp_peer
index 6b850c734b7885e098e89b75d273c302ecc38973..463c1631bd18369eed0ec7a9e3c84703714758d8 100644
--- a/source/packages/arista_bgp_peer
+++ b/source/packages/arista_bgp_peer
@@ -20,12 +20,12 @@
                 'NOTE: this plugin will supersede the original arista_bgp '
                 'plugin\n',
  'download_url': 'https://thl-cmk.hopto.org/gitlab/arista/arista_bgp_peer',
- 'files': {'agent_based': ['arista_bgp_peer.py',
-                           'inv_arista_bgp_peer.py',
-                           'utils/arista_bgp_peer.py']},
+ 'files': {'cmk_addons_plugins': ['bgp_peer/agent_based/arista_bgp_peer.py',
+                                  'bgp_peer/lib/arista_bgp_peer.py',
+                                  'bgp_peer/agent_based/inv_arista_bgp_peer.py']},
  'name': 'arista_bgp_peer',
  'title': 'Arista BGP peer',
- 'version': '1.0.0-20230613',
- 'version.min_required': '2.0.0b1',
- 'version.packaged': '2.2.0p24',
- 'version.usable_until': None}
+ 'version': '1.0.1-20250329',
+ 'version.min_required': '2.3.0b1',
+ 'version.packaged': 'cmk-mkp-tool 0.2.0',
+ 'version.usable_until': '2.5.0b1'}