diff --git a/checks/cisco_asyncos_license b/checks/cisco_asyncos_license
deleted file mode 100644
index d46dacdc0009f4e1526ca67d5b33db631bbb35ec..0000000000000000000000000000000000000000
--- a/checks/cisco_asyncos_license
+++ /dev/null
@@ -1,198 +0,0 @@
-#!/usr/bin/python
-# -*- encoding: utf-8; py-indent-offset: 4 -*-
-#
-# Rewriten by: Th.L.
-# Date: 10-02-2020
-#
-# monitors license status of Cisco IronPort Appliances (ESA/SMA/WSA)
-# Tested with: C380, M380, C370, M670, S370
-#
-# check_mk is free software;  you can redistribute it and/or modify it
-# under the  terms of the  GNU General Public License  as published by
-# the Free Software Foundation in version 2.  check_mk is  distributed
-# in the hope that it will be useful, but WITHOUT ANY WARRANTY;  with-
-# out even the implied warranty of  MERCHANTABILITY  or  FITNESS FOR A
-# PARTICULAR PURPOSE. See the  GNU General Public License for more de-
-# ails.  You should have  received  a copy of the  GNU  General Public
-# License along with GNU Make; see the file  COPYING.  If  not,  write
-# to the Free Software Foundation, Inc., 51 Franklin St,  Fifth Floor,
-# Boston, MA 02110-1301 USA.
-#
-# sample snmpwalk:
-#
-# OMD[cmk16x]:~$ snmpwalk  -v2c -c public localhost -m ASYNCOS-MAIL-MIB -ObentU keyExpirationTable
-# .1.3.6.1.4.1.15497.1.1.1.12.1.1.1 = INTEGER: 1
-# .1.3.6.1.4.1.15497.1.1.1.12.1.1.2 = INTEGER: 2
-# .1.3.6.1.4.1.15497.1.1.1.12.1.1.3 = INTEGER: 3
-# .1.3.6.1.4.1.15497.1.1.1.12.1.1.4 = INTEGER: 4
-# .1.3.6.1.4.1.15497.1.1.1.12.1.1.5 = INTEGER: 5
-# .1.3.6.1.4.1.15497.1.1.1.12.1.1.6 = INTEGER: 6
-# .1.3.6.1.4.1.15497.1.1.1.12.1.1.7 = INTEGER: 7
-# .1.3.6.1.4.1.15497.1.1.1.12.1.1.8 = INTEGER: 8
-# .1.3.6.1.4.1.15497.1.1.1.12.1.1.9 = INTEGER: 9
-# .1.3.6.1.4.1.15497.1.1.1.12.1.1.10 = INTEGER: 10
-# .1.3.6.1.4.1.15497.1.1.1.12.1.1.11 = INTEGER: 11
-# .1.3.6.1.4.1.15497.1.1.1.12.1.2.1 = STRING: Bounce Verification
-# .1.3.6.1.4.1.15497.1.1.1.12.1.2.2 = STRING: Data Loss Prevention
-# .1.3.6.1.4.1.15497.1.1.1.12.1.2.3 = STRING: External Threat Feeds
-# .1.3.6.1.4.1.15497.1.1.1.12.1.2.4 = STRING: File Analysis
-# .1.3.6.1.4.1.15497.1.1.1.12.1.2.5 = STRING: File Reputation
-# .1.3.6.1.4.1.15497.1.1.1.12.1.2.6 = STRING: Incoming Mail Handling
-# .1.3.6.1.4.1.15497.1.1.1.12.1.2.7 = STRING: IronPort Anti-Spam
-# .1.3.6.1.4.1.15497.1.1.1.12.1.2.8 = STRING: IronPort Email Encryption
-# .1.3.6.1.4.1.15497.1.1.1.12.1.2.9 = STRING: McAfee
-# .1.3.6.1.4.1.15497.1.1.1.12.1.2.10 = STRING: Outbreak Filters
-# .1.3.6.1.4.1.15497.1.1.1.12.1.2.11 = STRING: Sophos Anti-Virus
-# .1.3.6.1.4.1.15497.1.1.1.12.1.3.1 = INTEGER: 1
-# .1.3.6.1.4.1.15497.1.1.1.12.1.3.2 = INTEGER: 2
-# .1.3.6.1.4.1.15497.1.1.1.12.1.3.3 = INTEGER: 2
-# .1.3.6.1.4.1.15497.1.1.1.12.1.3.4 = INTEGER: 2
-# .1.3.6.1.4.1.15497.1.1.1.12.1.3.5 = INTEGER: 2
-# .1.3.6.1.4.1.15497.1.1.1.12.1.3.6 = INTEGER: 1
-# .1.3.6.1.4.1.15497.1.1.1.12.1.3.7 = INTEGER: 2
-# .1.3.6.1.4.1.15497.1.1.1.12.1.3.8 = INTEGER: 2
-# .1.3.6.1.4.1.15497.1.1.1.12.1.3.9 = INTEGER: 2
-# .1.3.6.1.4.1.15497.1.1.1.12.1.3.10 = INTEGER: 2
-# .1.3.6.1.4.1.15497.1.1.1.12.1.3.11 = INTEGER: 2
-# .1.3.6.1.4.1.15497.1.1.1.12.1.4.1 = Gauge32: 0
-# .1.3.6.1.4.1.15497.1.1.1.12.1.4.2 = Gauge32: 0
-# .1.3.6.1.4.1.15497.1.1.1.12.1.4.3 = Gauge32: 32542740
-# .1.3.6.1.4.1.15497.1.1.1.12.1.4.4 = Gauge32: 32542804
-# .1.3.6.1.4.1.15497.1.1.1.12.1.4.5 = Gauge32: 32542804
-# .1.3.6.1.4.1.15497.1.1.1.12.1.4.6 = Gauge32: 0
-# .1.3.6.1.4.1.15497.1.1.1.12.1.4.7 = Gauge32: 32542740
-# .1.3.6.1.4.1.15497.1.1.1.12.1.4.8 = Gauge32: 0
-# .1.3.6.1.4.1.15497.1.1.1.12.1.4.9 = Gauge32: 1463722
-# .1.3.6.1.4.1.15497.1.1.1.12.1.4.10 = Gauge32: 32542740
-# .1.3.6.1.4.1.15497.1.1.1.12.1.4.11 = Gauge32: 32542740
-#
-# OMD[cmk16x]:~$ snmpwalk  -v2c -c public localhost -m ASYNCOS-MAIL-MIB  keyExpirationTable
-# ASYNCOS-MAIL-MIB::keyExpirationIndex.1 = INTEGER: 1
-# ASYNCOS-MAIL-MIB::keyExpirationIndex.2 = INTEGER: 2
-# ASYNCOS-MAIL-MIB::keyExpirationIndex.3 = INTEGER: 3
-# ASYNCOS-MAIL-MIB::keyExpirationIndex.4 = INTEGER: 4
-# ASYNCOS-MAIL-MIB::keyExpirationIndex.5 = INTEGER: 5
-# ASYNCOS-MAIL-MIB::keyExpirationIndex.6 = INTEGER: 6
-# ASYNCOS-MAIL-MIB::keyExpirationIndex.7 = INTEGER: 7
-# ASYNCOS-MAIL-MIB::keyExpirationIndex.8 = INTEGER: 8
-# ASYNCOS-MAIL-MIB::keyExpirationIndex.9 = INTEGER: 9
-# ASYNCOS-MAIL-MIB::keyExpirationIndex.10 = INTEGER: 10
-# ASYNCOS-MAIL-MIB::keyExpirationIndex.11 = INTEGER: 11
-# ASYNCOS-MAIL-MIB::keyDescription.1 = STRING: Bounce Verification
-# ASYNCOS-MAIL-MIB::keyDescription.2 = STRING: Data Loss Prevention
-# ASYNCOS-MAIL-MIB::keyDescription.3 = STRING: External Threat Feeds
-# ASYNCOS-MAIL-MIB::keyDescription.4 = STRING: File Analysis
-# ASYNCOS-MAIL-MIB::keyDescription.5 = STRING: File Reputation
-# ASYNCOS-MAIL-MIB::keyDescription.6 = STRING: Incoming Mail Handling
-# ASYNCOS-MAIL-MIB::keyDescription.7 = STRING: IronPort Anti-Spam
-# ASYNCOS-MAIL-MIB::keyDescription.8 = STRING: IronPort Email Encryption
-# ASYNCOS-MAIL-MIB::keyDescription.9 = STRING: McAfee
-# ASYNCOS-MAIL-MIB::keyDescription.10 = STRING: Outbreak Filters
-# ASYNCOS-MAIL-MIB::keyDescription.11 = STRING: Sophos Anti-Virus
-# ASYNCOS-MAIL-MIB::keyIsPerpetual.1 = INTEGER: true(1)
-# ASYNCOS-MAIL-MIB::keyIsPerpetual.2 = INTEGER: false(2)
-# ASYNCOS-MAIL-MIB::keyIsPerpetual.3 = INTEGER: false(2)
-# ASYNCOS-MAIL-MIB::keyIsPerpetual.4 = INTEGER: false(2)
-# ASYNCOS-MAIL-MIB::keyIsPerpetual.5 = INTEGER: false(2)
-# ASYNCOS-MAIL-MIB::keyIsPerpetual.6 = INTEGER: true(1)
-# ASYNCOS-MAIL-MIB::keyIsPerpetual.7 = INTEGER: false(2)
-# ASYNCOS-MAIL-MIB::keyIsPerpetual.8 = INTEGER: false(2)
-# ASYNCOS-MAIL-MIB::keyIsPerpetual.9 = INTEGER: false(2)
-# ASYNCOS-MAIL-MIB::keyIsPerpetual.10 = INTEGER: false(2)
-# ASYNCOS-MAIL-MIB::keyIsPerpetual.11 = INTEGER: false(2)
-# ASYNCOS-MAIL-MIB::keySecondsUntilExpire.1 = Gauge32: 0
-# ASYNCOS-MAIL-MIB::keySecondsUntilExpire.2 = Gauge32: 0
-# ASYNCOS-MAIL-MIB::keySecondsUntilExpire.3 = Gauge32: 32542740
-# ASYNCOS-MAIL-MIB::keySecondsUntilExpire.4 = Gauge32: 32542804
-# ASYNCOS-MAIL-MIB::keySecondsUntilExpire.5 = Gauge32: 32542804
-# ASYNCOS-MAIL-MIB::keySecondsUntilExpire.6 = Gauge32: 0
-# ASYNCOS-MAIL-MIB::keySecondsUntilExpire.7 = Gauge32: 32542740
-# ASYNCOS-MAIL-MIB::keySecondsUntilExpire.8 = Gauge32: 0
-# ASYNCOS-MAIL-MIB::keySecondsUntilExpire.9 = Gauge32: 1463722
-# ASYNCOS-MAIL-MIB::keySecondsUntilExpire.10 = Gauge32: 32542740
-# ASYNCOS-MAIL-MIB::keySecondsUntilExpire.11 = Gauge32: 32542740
-#
-#
-# sample info:
-# [
-#  [u'Cisco Centralized Email Reporting', u'2', u'927000'],
-#  [u'Cisco Centralized Web Configuration Manager', u'2', u'927000'],
-#  [u'Cisco Centralized Web Reporting', u'2', u'2592000'],
-#  [u'Cisco IronPort Centralized Email Message Tracking', u'2', u'927000'],
-#  [u'Cisco IronPort Spam Quarantine', u'2', u'927000'],
-#  [u'Incoming Mail Handling', u'1', u'0']
-#  ]
-#
-
-factory_settings['cisco_asyncos_license_default_levels'] = {
-    'expire': (30, 7),  # 30 days warn, 7 days crit
-    # 'features_ignore': ['McAfee', 'Data Loss Prevention'],  # list of features to ignore in license check
-}
-
-
-def inventory_cisco_asyncos_license(info):
-    if len(info) > 0:
-        return [(None, 'cisco_asyncos_license_default_levels')]
-
-
-def check_cisco_asyncos_license(_no_item, params, info):
-    infotext = ''
-    longoutput = ''
-    features_warn = []
-    features_crit = []
-    features_ignore = params.get('features_ignore', [])
-    expire_warn, expire_crit = params.get('expire', (30, 15))
-
-    expire_warn = expire_warn * 24 * 3600
-    expire_crit = expire_crit * 24 * 3600
-
-    def get_isperpetual(isperpetual):
-        s_status = {'1': True,
-                    '2': False}
-        return s_status.get(isperpetual,False)
-
-    for featurekey in info:
-        description, isperpetual, secondsuntilexpire = featurekey
-        isperpetual = get_isperpetual(isperpetual)
-        secondsuntilexpire = int(secondsuntilexpire)
-        expiredate = time.strftime("%d %b %Y", time.localtime(time.time()+secondsuntilexpire))
-        if isperpetual:
-            longoutput += '\n%s: perpetual: %s, expires at: %s' % (description, isperpetual, 'will not expire')
-        elif secondsuntilexpire == 0:
-            longoutput += '\n%s: perpetual: %s, has expired or is not licensed' % (description, isperpetual)
-        else:
-            longoutput += '\n%s: perpetual: %s, expires at: %s' % (description, isperpetual, expiredate)
-
-        if not isperpetual and description not in features_ignore:
-            if secondsuntilexpire < expire_crit:
-                features_crit.append(description)
-            elif secondsuntilexpire < expire_warn:
-                features_warn.append(description)
-
-    if len(features_crit) != 0:
-        temp = ', '.join(features_crit)
-        yield 2, '%d features about to expire (%s)' % (len(features_crit), temp)
-    if len(features_warn) != 0:
-        temp = ', '.join(features_warn)
-        yield 1, '%d features about to expire (%s)' % (len(features_warn), temp)
-
-    infotext += '%d features found' % len(info)
-    yield 0, infotext + longoutput
-
-
-check_info['cisco_asyncos_license'] = {
-    'check_function':          check_cisco_asyncos_license,
-    'inventory_function':      inventory_cisco_asyncos_license,
-    'group':                   'cisco_asyncos_license',
-    'service_description':     'License',
-    'snmp_info':               ('.1.3.6.1.4.1.15497.1.1.1.12.1',  # ASYNCOS-MAIL-MIB::keyExpirationEntry
-                                ['2',  # keyDescription
-                                 '3',  # keyIsPerpetual
-                                 '4',  # keySecondsUntilExpire
-                                 ]),
-    'default_levels_variable': 'cisco_asyncos_license_default_levels',
-    'snmp_scan_function':  lambda oid: oid('.1.3.6.1.2.1.1.1.0').find('AsyncOS') != -1,
-    # 'snmp_scan_function': scan_cisco_asyncos,
-    # 'includes': ['cisco_asyncos.include'],
-}
-
diff --git a/cisco_asyncos.mkp b/cisco_asyncos.mkp
index 048e9c6c3a99532a19865e7e3de65e825043c284..52a40594eff84cafd40e7eaa4496193b65e870ba 100644
Binary files a/cisco_asyncos.mkp and b/cisco_asyncos.mkp differ