diff --git a/agent_based/checkpoint_asg_vsls.py b/agent_based/checkpoint_asg_vsls.py
index 43ce98e5f83cc9469e02a64323956ef659f3e281..a649d3fd68b2e1d544a3ad273278fecfe497e3ad 100644
--- a/agent_based/checkpoint_asg_vsls.py
+++ b/agent_based/checkpoint_asg_vsls.py
@@ -35,7 +35,7 @@
 #   ['50', '1 2']
 #  ], 
 #  [
-#   ['0', 'k01001s11-017500009', '1', '1', 'OK', 'Primary chassis health is good.', '2', '2', '1', '1', '', '']
+#   ['0', 'k01001s11-017500009', '1', '1', 'OK', 'Primary chassis health is good.', '2', '2', '1', '1']
 #  ]
 # ]
 #
@@ -45,7 +45,7 @@
 #                   VsPrimaryChassis='1', VsActiveChassis='1', VsHealth='OK',
 #                   VsReason='Primary chassis health is good.', ChassisState=[(2, 2), (1, 1)])
 
-from typing import List, Tuple, Optional
+from typing import List, NamedTuple, Optional
 from dataclasses import dataclass
 from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import (
     DiscoveryResult,
@@ -66,17 +66,24 @@ from cmk.base.plugins.agent_based.agent_based_api.v1 import (
 )
 
 
+class CheckpoinstAsgVlslChassis(NamedTuple):
+    InterfacesUp: int
+    InterfacesTotal: int
+    FwksUp: int
+    FwksTotal: int
+
+
 @dataclass
 class CheckpointAsgVsls:
     SgmRatio: str
-    SystemPrimaryChassis: str
+    SystemPrimaryChassis: list
     Vsid: str
     VsName: str
     VsPrimaryChassis: str
     VsActiveChassis: str
     VsHealth: str
     VsReason: str
-    ChassisState: List[Tuple[int, int]]
+    ChassisState: List[CheckpoinstAsgVlslChassis]
 
 
 def parse_checkpoint_asg_vsls(string_table: List[StringTable]) -> Optional[CheckpointAsgVsls]:
@@ -87,14 +94,15 @@ def parse_checkpoint_asg_vsls(string_table: List[StringTable]) -> Optional[Check
         return
 
     try:
-        Vsid, VsName, VsPrimaryChassis, VsActiveChassis, VsHealth, VsReason, VsChassis1FwksUp, VsChassis1FwksTotal, \
-        VsChassis2FwksUp, VsChassis2FwksTotal, VsChassis3FwksUp, VsChassis3FwksTotal = chassis_state[0]
+        Vsid, VsName, VsPrimaryChassis, VsActiveChassis, VsHealth, VsReason, \
+        VsChassis1InterfacesUp, VsChassis1InterfacesTotal, VsChassis1FwksUp, VsChassis1FwksTotal, \
+        VsChassis2InterfacesUp, VsChassis2InterfacesTotal, VsChassis2FwksUp, VsChassis2FwksTotal, = chassis_state[0]
     except (IndexError, ValueError):
         return
 
     return CheckpointAsgVsls(
         SgmRatio=SgmRatio,
-        SystemPrimaryChassis=SystemPrimaryChassis,
+        SystemPrimaryChassis=SystemPrimaryChassis.strip(),
         Vsid=Vsid,
         VsName=VsName,
         VsPrimaryChassis=VsPrimaryChassis,
@@ -102,9 +110,18 @@ def parse_checkpoint_asg_vsls(string_table: List[StringTable]) -> Optional[Check
         VsHealth=VsHealth,
         VsReason=VsReason,
         ChassisState=[
-            (int(VsChassis1FwksUp), int(VsChassis1FwksTotal)),
-            (int(VsChassis2FwksUp), int(VsChassis2FwksTotal)),
-           # (int(VsChassis3FwksUp), int(VsChassis3FwksTotal)),
+            CheckpoinstAsgVlslChassis(
+                int(VsChassis1InterfacesUp),
+                int(VsChassis1InterfacesTotal),
+                int(VsChassis1FwksUp),
+                int(VsChassis1FwksTotal)
+            ),
+            CheckpoinstAsgVlslChassis(
+                int(VsChassis2InterfacesUp),
+                int(VsChassis2InterfacesTotal),
+                int(VsChassis2FwksUp),
+                int(VsChassis2FwksTotal)
+            ),
         ]
     )
 
@@ -114,10 +131,11 @@ def discovery_checkpoint_asg_vsls(section: CheckpointAsgVsls) -> DiscoveryResult
 
 
 def check_checkpoint_asg_vsls(params, section: CheckpointAsgVsls) -> CheckResult:
-    SystemPrimaryChassis = section.SystemPrimaryChassis.strip().split(' ')
     inv_asgVslsVsActiveChassis = params['discovery_active_chassis']
 
     longoutput = ''
+    longoutput += f'\nThreshold ratio for failover: {section.SgmRatio}'
+    longoutput += f'\nMethod for defaulting Chassis per each VS: {section.SystemPrimaryChassis}'
     longoutput += f'\nSystem name: {section.VsName}'
     longoutput += f'\nHealth status: {section.VsHealth}'
     longoutput += f'\nHealth reason: {section.VsReason}'
@@ -132,14 +150,20 @@ def check_checkpoint_asg_vsls(params, section: CheckpointAsgVsls) -> CheckResult
     else:
         yield Result(state=State.OK, notice=yield_text)
 
-    for chassis in SystemPrimaryChassis:
-        VsChassisFwksUp, VsChassisFwksTotal = section.ChassisState[int(chassis) - 1]
-        yield_text = f'Chassis {chassis}: {VsChassisFwksUp}/{VsChassisFwksTotal} SGMs UP'
+    chassis = 0
+    for InterfacesUp, InterfacesTotal, VsChassisFwksUp, VsChassisFwksTotal in section.ChassisState:
+        chassis += 1
+        yield_text = f'Chassis {chassis}: {VsChassisFwksUp}/{VsChassisFwksTotal} SGMs Up'
         if VsChassisFwksUp != VsChassisFwksTotal:
             yield Result(state=State.CRIT, notice=yield_text)
         else:
             yield Result(state=State.OK, summary=yield_text)
 
+        yield_text = f'Interfaces: {InterfacesUp}/{InterfacesTotal} (Up/Total)'
+        if InterfacesUp != InterfacesTotal:
+            yield Result(state=State.CRIT, notice=yield_text)
+        else:
+            yield Result(state=State.OK, summary=yield_text)
 
 register.snmp_section(
     name='checkpoint_asg_vsls',
@@ -161,12 +185,14 @@ register.snmp_section(
                 '4',  # asgVslsVsActiveChassis
                 '5',  # asgVslsVsHealth
                 '6',  # asgVslsVsReason
+                '7',  # asgVslsVsChassis1InterfacesUp
+                '8',  # asgVslsVsChassis1InterfacesTotal
                 '9',  # asgVslsVsChassis1FwksUp
                 '10',  # asgVslsVsChassis1FwksTotal
+                '21',  # asgVslsVsChassis2InterfacesUp
+                '22',  # asgVslsVsChassis2InterfacesTotal
                 '23',  # asgVslsVsChassis2FwksUp
                 '24',  # asgVslsVsChassis2FwksTotal
-                '33',  # asgVslsVsChassis3FwksUp
-                '34',  # asgVslsVsChassis3FwksTotal
             ]
         ),
     ],
diff --git a/checkpoint_asg_vsls.mkp b/checkpoint_asg_vsls.mkp
index 06e71246815a9af5efef8ceed1cc85702cf023e8..55870c42e3541ae6158d8e5488d1062443690112 100644
Binary files a/checkpoint_asg_vsls.mkp and b/checkpoint_asg_vsls.mkp differ
diff --git a/packages/checkpoint_asg_vsls b/packages/checkpoint_asg_vsls
index 910b669ac782b86463e3bfe7cdd68a1e267c4760..22fb51e100e0bb5e47ffa45955193298dd4baf25 100644
--- a/packages/checkpoint_asg_vsls
+++ b/packages/checkpoint_asg_vsls
@@ -7,5 +7,5 @@
  'title': 'Check Point Maestro SMO ASG VSLS Chassis',
  'version': '20210911.v0.2',
  'version.min_required': '2.0.0',
- 'version.packaged': '2021.07.14',
+ 'version.packaged': '2021.09.20',
  'version.usable_until': None}
\ No newline at end of file