diff --git a/sysmocom/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py
index 88ae82d..d4fa649 100755
--- a/sysmocom/suites/4g/iperf3_dl.py
+++ b/sysmocom/suites/4g/iperf3_dl.py
@@ -12,10 +12,10 @@
     print_result_node(cli_res, 'client')
     print_result_node(srv_res, 'server')
 
-epc = suite.epc()
-enb = suite.enb()
-ue = suite.modem()
-iperf3srv = suite.iperf3srv({'addr': epc.tun_addr()})
+epc = tenv.epc()
+enb = tenv.enb()
+ue = tenv.modem()
+iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()})
 iperf3srv.set_run_node(epc.run_node())
 iperf3cli = iperf3srv.create_client()
 iperf3cli.set_run_node(ue.run_node())
diff --git a/sysmocom/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py
index 597b50d..64d476b 100755
--- a/sysmocom/suites/4g/iperf3_ul.py
+++ b/sysmocom/suites/4g/iperf3_ul.py
@@ -12,10 +12,10 @@
     print_result_node(cli_res, 'client')
     print_result_node(srv_res, 'server')
 
-epc = suite.epc()
-enb = suite.enb()
-ue = suite.modem()
-iperf3srv = suite.iperf3srv({'addr': epc.tun_addr()})
+epc = tenv.epc()
+enb = tenv.enb()
+ue = tenv.modem()
+iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()})
 iperf3srv.set_run_node(epc.run_node())
 iperf3cli = iperf3srv.create_client()
 iperf3cli.set_run_node(ue.run_node())
diff --git a/sysmocom/suites/4g/ping.py b/sysmocom/suites/4g/ping.py
index 17eee78..c81a35d 100755
--- a/sysmocom/suites/4g/ping.py
+++ b/sysmocom/suites/4g/ping.py
@@ -1,9 +1,9 @@
 #!/usr/bin/env python3
 from osmo_gsm_tester.testenv import *
 
-epc = suite.epc()
-enb = suite.enb()
-ue = suite.modem()
+epc = tenv.epc()
+enb = tenv.enb()
+ue = tenv.modem()
 
 epc.subscriber_add(ue)
 epc.start()
diff --git a/sysmocom/suites/debug/interactive.py b/sysmocom/suites/debug/interactive.py
index 89f967f..fa53cc8 100755
--- a/sysmocom/suites/debug/interactive.py
+++ b/sysmocom/suites/debug/interactive.py
@@ -1,17 +1,17 @@
 #!/usr/bin/env python3
 from osmo_gsm_tester.testenv import *
-hlr = suite.hlr()
-bts = suite.bts()
+hlr = tenv.hlr()
+bts = tenv.bts()
 pcu = bts.pcu()
-mgw_msc = suite.mgw()
-mgw_bsc = suite.mgw()
-stp = suite.stp()
-ggsn = suite.ggsn()
-sgsn = suite.sgsn(hlr, ggsn)
-msc = suite.msc(hlr, mgw_msc, stp)
-bsc = suite.bsc(msc, mgw_bsc, stp)
+mgw_msc = tenv.mgw()
+mgw_bsc = tenv.mgw()
+stp = tenv.stp()
+ggsn = tenv.ggsn()
+sgsn = tenv.sgsn(hlr, ggsn)
+msc = tenv.msc(hlr, mgw_msc, stp)
+bsc = tenv.bsc(msc, mgw_bsc, stp)
 
-modems = suite.modems(int(prompt('How many modems?')))
+modems = tenv.modems(int(prompt('How many modems?')))
 
 bsc.bts_add(bts)
 sgsn.bts_add(bts)
diff --git a/sysmocom/suites/dynts/switch_tch_pdch.py b/sysmocom/suites/dynts/switch_tch_pdch.py
index f0bbd38..7be4be7 100755
--- a/sysmocom/suites/dynts/switch_tch_pdch.py
+++ b/sysmocom/suites/dynts/switch_tch_pdch.py
@@ -32,18 +32,18 @@
     wait(lambda: len(ms_mo.call_id_list()) == 0 and len(ms_mt.call_id_list()) == 0)
     print('hangup success')
 
-hlr = suite.hlr()
-bts = suite.bts()
+hlr = tenv.hlr()
+bts = tenv.bts()
 pcu = bts.pcu()
-mgw_msc = suite.mgw()
-mgw_bsc = suite.mgw()
-stp = suite.stp()
-ggsn = suite.ggsn()
-sgsn = suite.sgsn(hlr, ggsn)
-msc = suite.msc(hlr, mgw_msc, stp)
-bsc = suite.bsc(msc, mgw_bsc, stp)
-ms_mo = suite.modem()
-ms_mt = suite.modem()
+mgw_msc = tenv.mgw()
+mgw_bsc = tenv.mgw()
+stp = tenv.stp()
+ggsn = tenv.ggsn()
+sgsn = tenv.sgsn(hlr, ggsn)
+msc = tenv.msc(hlr, mgw_msc, stp)
+bsc = tenv.bsc(msc, mgw_bsc, stp)
+ms_mo = tenv.modem()
+ms_mt = tenv.modem()
 
 bsc.bts_add(bts)
 sgsn.bts_add(bts)
diff --git a/sysmocom/suites/encryption/lib/testlib.py b/sysmocom/suites/encryption/lib/testlib.py
index 3948941..ed76e6f 100644
--- a/sysmocom/suites/encryption/lib/testlib.py
+++ b/sysmocom/suites/encryption/lib/testlib.py
@@ -2,14 +2,14 @@
 from osmo_gsm_tester.testenv import *
 
 def encryption_test_setup_run(enable_auth, algo):
-    hlr = suite.hlr()
-    bts = suite.bts()
-    mgw_msc = suite.mgw()
-    mgw_bsc = suite.mgw()
-    stp = suite.stp()
-    msc = suite.msc(hlr, mgw_msc, stp)
-    bsc = suite.bsc(msc, mgw_bsc, stp)
-    ms = suite.modem()
+    hlr = tenv.hlr()
+    bts = tenv.bts()
+    mgw_msc = tenv.mgw()
+    mgw_bsc = tenv.mgw()
+    stp = tenv.stp()
+    msc = tenv.msc(hlr, mgw_msc, stp)
+    bsc = tenv.bsc(msc, mgw_bsc, stp)
+    ms = tenv.modem()
 
     print('start network...')
     msc.set_authentication(enable_auth)
diff --git a/sysmocom/suites/encryption/register_a5_0_authopt.py b/sysmocom/suites/encryption/register_a5_0_authopt.py
index 1b7f471..e99946e 100755
--- a/sysmocom/suites/encryption/register_a5_0_authopt.py
+++ b/sysmocom/suites/encryption/register_a5_0_authopt.py
@@ -2,7 +2,7 @@
 from osmo_gsm_tester.testenv import *
 
 import testlib
-suite.test_import_modules_register_for_cleanup(testlib)
+tenv.test_import_modules_register_for_cleanup(testlib)
 from testlib import encryption_test_setup_run
 
 encryption_test_setup_run(False, 'a5_0')
diff --git a/sysmocom/suites/encryption/register_a5_0_authreq.py b/sysmocom/suites/encryption/register_a5_0_authreq.py
index feca525..648b49e 100755
--- a/sysmocom/suites/encryption/register_a5_0_authreq.py
+++ b/sysmocom/suites/encryption/register_a5_0_authreq.py
@@ -2,7 +2,7 @@
 from osmo_gsm_tester.testenv import *
 
 import testlib
-suite.test_import_modules_register_for_cleanup(testlib)
+tenv.test_import_modules_register_for_cleanup(testlib)
 from testlib import encryption_test_setup_run
 
 encryption_test_setup_run(True, 'a5_0')
diff --git a/sysmocom/suites/encryption/register_a5_1_authreq.py b/sysmocom/suites/encryption/register_a5_1_authreq.py
index 077819b..5391f14 100755
--- a/sysmocom/suites/encryption/register_a5_1_authreq.py
+++ b/sysmocom/suites/encryption/register_a5_1_authreq.py
@@ -2,7 +2,7 @@
 from osmo_gsm_tester.testenv import *
 
 import testlib
-suite.test_import_modules_register_for_cleanup(testlib)
+tenv.test_import_modules_register_for_cleanup(testlib)
 from testlib import encryption_test_setup_run
 
 encryption_test_setup_run(True, 'a5_1')
diff --git a/sysmocom/suites/encryption/register_a5_3_authreq.py b/sysmocom/suites/encryption/register_a5_3_authreq.py
index 219c109..0fb487b 100755
--- a/sysmocom/suites/encryption/register_a5_3_authreq.py
+++ b/sysmocom/suites/encryption/register_a5_3_authreq.py
@@ -2,7 +2,7 @@
 from osmo_gsm_tester.testenv import *
 
 import testlib
-suite.test_import_modules_register_for_cleanup(testlib)
+tenv.test_import_modules_register_for_cleanup(testlib)
 from testlib import encryption_test_setup_run
 
 encryption_test_setup_run(True, 'a5_3')
diff --git a/sysmocom/suites/gprs/cs_paging_gprs_active.py b/sysmocom/suites/gprs/cs_paging_gprs_active.py
index b7dead2..f765f80 100755
--- a/sysmocom/suites/gprs/cs_paging_gprs_active.py
+++ b/sysmocom/suites/gprs/cs_paging_gprs_active.py
@@ -6,7 +6,7 @@
 from osmo_gsm_tester.testenv import *
 
 import testlib
-suite.test_import_modules_register_for_cleanup(testlib)
+tenv.test_import_modules_register_for_cleanup(testlib)
 from testlib import setup_run_iperf3_test_parallel
 
 def ready_cb_place_voicecall(ms_li):
diff --git a/sysmocom/suites/gprs/iperf3.py b/sysmocom/suites/gprs/iperf3.py
index e25519a..bcf14a9 100755
--- a/sysmocom/suites/gprs/iperf3.py
+++ b/sysmocom/suites/gprs/iperf3.py
@@ -2,7 +2,7 @@
 from osmo_gsm_tester.testenv import *
 
 import testlib
-suite.test_import_modules_register_for_cleanup(testlib)
+tenv.test_import_modules_register_for_cleanup(testlib)
 from testlib import setup_run_iperf3_test_parallel
 
 setup_run_iperf3_test_parallel(1)
diff --git a/sysmocom/suites/gprs/iperf3m4.py b/sysmocom/suites/gprs/iperf3m4.py
index 1cc27ed..713757c 100755
--- a/sysmocom/suites/gprs/iperf3m4.py
+++ b/sysmocom/suites/gprs/iperf3m4.py
@@ -2,7 +2,7 @@
 from osmo_gsm_tester.testenv import *
 
 import testlib
-suite.test_import_modules_register_for_cleanup(testlib)
+tenv.test_import_modules_register_for_cleanup(testlib)
 from testlib import setup_run_iperf3_test_parallel
 
 setup_run_iperf3_test_parallel(4)
diff --git a/sysmocom/suites/gprs/lib/testlib.py b/sysmocom/suites/gprs/lib/testlib.py
index c1a1bc1..8e42248 100644
--- a/sysmocom/suites/gprs/lib/testlib.py
+++ b/sysmocom/suites/gprs/lib/testlib.py
@@ -35,30 +35,30 @@
 
 
 def setup_run_iperf3_test_parallel(num_ms, ready_cb=None):
-    hlr = suite.hlr()
-    bts = suite.bts()
+    hlr = tenv.hlr()
+    bts = tenv.bts()
     pcu = bts.pcu()
-    mgw_msc = suite.mgw()
-    mgw_bsc = suite.mgw()
-    stp = suite.stp()
-    ggsn = suite.ggsn()
-    sgsn = suite.sgsn(hlr, ggsn)
-    msc = suite.msc(hlr, mgw_msc, stp)
-    bsc = suite.bsc(msc, mgw_bsc, stp)
+    mgw_msc = tenv.mgw()
+    mgw_bsc = tenv.mgw()
+    stp = tenv.stp()
+    ggsn = tenv.ggsn()
+    sgsn = tenv.sgsn(hlr, ggsn)
+    msc = tenv.msc(hlr, mgw_msc, stp)
+    bsc = tenv.bsc(msc, mgw_bsc, stp)
 
-    iperf3srv_addr = suite.ip_address()
+    iperf3srv_addr = tenv.ip_address()
     servers = []
     clients = []
     ms_li = []
     for i in range(num_ms):
-        iperf3srv = suite.iperf3srv(iperf3srv_addr)
+        iperf3srv = tenv.iperf3srv(iperf3srv_addr)
         iperf3srv.set_port(iperf3srv.DEFAULT_SRV_PORT + i)
         servers.append(iperf3srv)
 
         iperf3cli = iperf3srv.create_client()
         clients.append(iperf3cli)
 
-        ms = suite.modem()
+        ms = tenv.modem()
         ms_li.append(ms)
 
     bsc.bts_add(bts)
diff --git a/sysmocom/suites/gprs/ping.py b/sysmocom/suites/gprs/ping.py
index 22fe80a..9a7acde 100755
--- a/sysmocom/suites/gprs/ping.py
+++ b/sysmocom/suites/gprs/ping.py
@@ -1,17 +1,17 @@
 #!/usr/bin/env python3
 from osmo_gsm_tester.testenv import *
 
-hlr = suite.hlr()
-bts = suite.bts()
+hlr = tenv.hlr()
+bts = tenv.bts()
 pcu = bts.pcu()
-mgw_msc = suite.mgw()
-mgw_bsc = suite.mgw()
-stp = suite.stp()
-ggsn = suite.ggsn()
-sgsn = suite.sgsn(hlr, ggsn)
-msc = suite.msc(hlr, mgw_msc, stp)
-bsc = suite.bsc(msc, mgw_bsc, stp)
-ms = suite.modem()
+mgw_msc = tenv.mgw()
+mgw_bsc = tenv.mgw()
+stp = tenv.stp()
+ggsn = tenv.ggsn()
+sgsn = tenv.sgsn(hlr, ggsn)
+msc = tenv.msc(hlr, mgw_msc, stp)
+bsc = tenv.bsc(msc, mgw_bsc, stp)
+ms = tenv.modem()
 
 bsc.bts_add(bts)
 sgsn.bts_add(bts)
diff --git a/sysmocom/suites/gprs/ping_idle_ping.py b/sysmocom/suites/gprs/ping_idle_ping.py
index 02e2cdf..88ecbdb 100755
--- a/sysmocom/suites/gprs/ping_idle_ping.py
+++ b/sysmocom/suites/gprs/ping_idle_ping.py
@@ -6,17 +6,17 @@
 
 from osmo_gsm_tester.testenv import *
 
-hlr = suite.hlr()
-bts = suite.bts()
+hlr = tenv.hlr()
+bts = tenv.bts()
 pcu = bts.pcu()
-mgw_msc = suite.mgw()
-mgw_bsc = suite.mgw()
-stp = suite.stp()
-ggsn = suite.ggsn()
-sgsn = suite.sgsn(hlr, ggsn)
-msc = suite.msc(hlr, mgw_msc, stp)
-bsc = suite.bsc(msc, mgw_bsc, stp)
-ms = suite.modem()
+mgw_msc = tenv.mgw()
+mgw_bsc = tenv.mgw()
+stp = tenv.stp()
+ggsn = tenv.ggsn()
+sgsn = tenv.sgsn(hlr, ggsn)
+msc = tenv.msc(hlr, mgw_msc, stp)
+bsc = tenv.bsc(msc, mgw_bsc, stp)
+ms = tenv.modem()
 
 bsc.bts_add(bts)
 sgsn.bts_add(bts)
diff --git a/sysmocom/suites/nitb_debug/interactive.py b/sysmocom/suites/nitb_debug/interactive.py
index 595cfd9..bd68a57 100755
--- a/sysmocom/suites/nitb_debug/interactive.py
+++ b/sysmocom/suites/nitb_debug/interactive.py
@@ -2,9 +2,9 @@
 from osmo_gsm_tester.testenv import *
 
 print('use resources...')
-nitb = suite.nitb()
-bts = suite.bts()
-modems = suite.modems(int(prompt('How many modems?')))
+nitb = tenv.nitb()
+bts = tenv.bts()
+modems = tenv.modems(int(prompt('How many modems?')))
 
 print('start nitb and bts...')
 nitb.bts_add(bts)
diff --git a/sysmocom/suites/nitb_netreg/register.py b/sysmocom/suites/nitb_netreg/register.py
index d5fbeb7..fd171b3 100755
--- a/sysmocom/suites/nitb_netreg/register.py
+++ b/sysmocom/suites/nitb_netreg/register.py
@@ -2,9 +2,9 @@
 from osmo_gsm_tester.testenv import *
 
 print('use resources...')
-nitb = suite.nitb()
-bts = suite.bts()
-ms = suite.modem()
+nitb = tenv.nitb()
+bts = tenv.bts()
+ms = tenv.modem()
 
 print('start nitb and bts...')
 nitb.bts_add(bts)
diff --git a/sysmocom/suites/nitb_netreg/register_default.py b/sysmocom/suites/nitb_netreg/register_default.py
index 545525d..6531049 100755
--- a/sysmocom/suites/nitb_netreg/register_default.py
+++ b/sysmocom/suites/nitb_netreg/register_default.py
@@ -2,9 +2,9 @@
 from osmo_gsm_tester.testenv import *
 
 print('use resources...')
-nitb = suite.nitb()
-bts = suite.bts()
-ms = suite.modem()
+nitb = tenv.nitb()
+bts = tenv.bts()
+ms = tenv.modem()
 
 print('start nitb and bts...')
 nitb.bts_add(bts)
diff --git a/sysmocom/suites/nitb_netreg_mass/register_default_mass.py b/sysmocom/suites/nitb_netreg_mass/register_default_mass.py
index 262b271..f6b94ad 100644
--- a/sysmocom/suites/nitb_netreg_mass/register_default_mass.py
+++ b/sysmocom/suites/nitb_netreg_mass/register_default_mass.py
@@ -7,11 +7,11 @@
 from datetime import timedelta
 
 print('Claiming resources for the test')
-nitb = suite.nitb()
-bts = suite.bts()
-ms_driver = suite.ms_driver()
+nitb = tenv.nitb()
+bts = tenv.bts()
+ms_driver = tenv.ms_driver()
 ul = ms_driver.add_test('ul_test')
-modems = suite.all_resources(suite.modem)
+modems = tenv.all_resources(tenv.modem)
 
 print('Launching a simple network')
 nitb.bts_add(bts)
diff --git a/sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py b/sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py
index 904226b..85abb9b 100755
--- a/sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py
+++ b/sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py
@@ -6,9 +6,9 @@
 
 from osmo_gsm_tester.testenv import *
 
-nitb = suite.nitb()
+nitb = tenv.nitb()
 smsc = nitb.smsc
-esme = suite.esme()
+esme = tenv.esme()
 
 # Here we deliberately omit calling smsc.esme_add() to avoid having it included
 # in the smsc config.
diff --git a/sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py b/sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py
index eaabb3d..41a74f2 100755
--- a/sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py
+++ b/sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py
@@ -11,10 +11,10 @@
 SMPP_ESME_RINVPASWD = 0x0000000E
 SMPP_ESME_RINVSYSID = 0x0000000F
 
-nitb = suite.nitb()
+nitb = tenv.nitb()
 smsc = nitb.smsc
-esme = suite.esme()
-esme_no_pwd = suite.esme()
+esme = tenv.esme()
+esme_no_pwd = tenv.esme()
 esme_no_pwd.set_password('')
 
 smsc.set_smsc_policy(smsc.SMSC_POLICY_CLOSED)
diff --git a/sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py b/sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py
index 391a040..29a5ced 100755
--- a/sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py
+++ b/sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py
@@ -12,10 +12,10 @@
 
 SMPP_ESME_RINVDSTADR = 0x0000000B
 
-nitb = suite.nitb()
-bts = suite.bts()
-ms = suite.modem()
-esme = suite.esme()
+nitb = tenv.nitb()
+bts = tenv.bts()
+ms = tenv.modem()
+esme = tenv.esme()
 
 print('start nitb and bts...')
 nitb.bts_add(bts)
diff --git a/sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py b/sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py
index adc9dae..2963b6e 100755
--- a/sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py
+++ b/sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py
@@ -10,10 +10,10 @@
 
 SMPP_ESME_RINVDSTADR = 0x0000000B
 
-nitb = suite.nitb()
-bts = suite.bts()
-ms = suite.modem()
-esme = suite.esme()
+nitb = tenv.nitb()
+bts = tenv.bts()
+ms = tenv.modem()
+esme = tenv.esme()
 
 print('start nitb and bts...')
 nitb.bts_add(bts)
diff --git a/sysmocom/suites/nitb_sms/mo_mt_sms.py b/sysmocom/suites/nitb_sms/mo_mt_sms.py
index 10897ff..d1cece6 100755
--- a/sysmocom/suites/nitb_sms/mo_mt_sms.py
+++ b/sysmocom/suites/nitb_sms/mo_mt_sms.py
@@ -1,10 +1,10 @@
 #!/usr/bin/env python3
 from osmo_gsm_tester.testenv import *
 
-nitb = suite.nitb()
-bts = suite.bts()
-ms_mo = suite.modem()
-ms_mt = suite.modem()
+nitb = tenv.nitb()
+bts = tenv.bts()
+ms_mo = tenv.modem()
+ms_mt = tenv.modem()
 
 print('start nitb and bts...')
 nitb.bts_add(bts)
diff --git a/sysmocom/suites/nitb_ussd/assert_extension.py b/sysmocom/suites/nitb_ussd/assert_extension.py
index 8ccab2d..6246e61 100755
--- a/sysmocom/suites/nitb_ussd/assert_extension.py
+++ b/sysmocom/suites/nitb_ussd/assert_extension.py
@@ -3,9 +3,9 @@
 
 USSD_COMMAND_GET_EXTENSION = '*#100#'
 
-nitb = suite.nitb()
-bts = suite.bts()
-ms = suite.modem()
+nitb = tenv.nitb()
+bts = tenv.bts()
+ms = tenv.modem()
 
 print('start nitb and bts...')
 nitb.bts_add(bts)
diff --git a/sysmocom/suites/smpp/esme_connect_policy_acceptall.py b/sysmocom/suites/smpp/esme_connect_policy_acceptall.py
index 168b4f3..9a53446 100755
--- a/sysmocom/suites/smpp/esme_connect_policy_acceptall.py
+++ b/sysmocom/suites/smpp/esme_connect_policy_acceptall.py
@@ -6,12 +6,12 @@
 
 from osmo_gsm_tester.testenv import *
 
-hlr = suite.hlr()
-mgw_msc = suite.mgw()
-stp = suite.stp()
-msc = suite.msc(hlr, mgw_msc, stp)
+hlr = tenv.hlr()
+mgw_msc = tenv.mgw()
+stp = tenv.stp()
+msc = tenv.msc(hlr, mgw_msc, stp)
 smsc = msc.smsc
-esme = suite.esme()
+esme = tenv.esme()
 
 # Here we deliberately omit calling smsc.esme_add() to avoid having it included
 # in the smsc config.
diff --git a/sysmocom/suites/smpp/esme_connect_policy_closed.py b/sysmocom/suites/smpp/esme_connect_policy_closed.py
index 487e5a4..fc4145c 100755
--- a/sysmocom/suites/smpp/esme_connect_policy_closed.py
+++ b/sysmocom/suites/smpp/esme_connect_policy_closed.py
@@ -11,15 +11,15 @@
 SMPP_ESME_RINVPASWD = 0x0000000E
 SMPP_ESME_RINVSYSID = 0x0000000F
 
-hlr = suite.hlr()
-bts = suite.bts()
-mgw_msc = suite.mgw()
-stp = suite.stp()
-msc = suite.msc(hlr, mgw_msc, stp)
+hlr = tenv.hlr()
+bts = tenv.bts()
+mgw_msc = tenv.mgw()
+stp = tenv.stp()
+msc = tenv.msc(hlr, mgw_msc, stp)
 smsc = msc.smsc
 
-esme = suite.esme()
-esme_no_pwd = suite.esme()
+esme = tenv.esme()
+esme_no_pwd = tenv.esme()
 esme_no_pwd.set_password('')
 
 smsc.set_smsc_policy(smsc.SMSC_POLICY_CLOSED)
diff --git a/sysmocom/suites/smpp/esme_ms_sms_storeforward.py b/sysmocom/suites/smpp/esme_ms_sms_storeforward.py
index 681bc29..232d1d3 100755
--- a/sysmocom/suites/smpp/esme_ms_sms_storeforward.py
+++ b/sysmocom/suites/smpp/esme_ms_sms_storeforward.py
@@ -12,17 +12,17 @@
 
 SMPP_ESME_RINVDSTADR = 0x0000000B
 
-hlr = suite.hlr()
-bts = suite.bts()
-mgw_msc = suite.mgw()
-mgw_bsc = suite.mgw()
-stp = suite.stp()
-msc = suite.msc(hlr, mgw_msc, stp)
-bsc = suite.bsc(msc, mgw_bsc, stp)
+hlr = tenv.hlr()
+bts = tenv.bts()
+mgw_msc = tenv.mgw()
+mgw_bsc = tenv.mgw()
+stp = tenv.stp()
+msc = tenv.msc(hlr, mgw_msc, stp)
+bsc = tenv.bsc(msc, mgw_bsc, stp)
 bsc.bts_add(bts)
 
-ms = suite.modem()
-esme = suite.esme()
+ms = tenv.modem()
+esme = tenv.esme()
 msc.smsc.esme_add(esme)
 
 hlr.start()
diff --git a/sysmocom/suites/smpp/esme_ms_sms_transaction.py b/sysmocom/suites/smpp/esme_ms_sms_transaction.py
index 16b01cc..d42012b 100755
--- a/sysmocom/suites/smpp/esme_ms_sms_transaction.py
+++ b/sysmocom/suites/smpp/esme_ms_sms_transaction.py
@@ -10,17 +10,17 @@
 
 SMPP_ESME_RINVDSTADR = 0x0000000B
 
-hlr = suite.hlr()
-bts = suite.bts()
-mgw_msc = suite.mgw()
-mgw_bsc = suite.mgw()
-stp = suite.stp()
-msc = suite.msc(hlr, mgw_msc, stp)
-bsc = suite.bsc(msc, mgw_bsc, stp)
+hlr = tenv.hlr()
+bts = tenv.bts()
+mgw_msc = tenv.mgw()
+mgw_bsc = tenv.mgw()
+stp = tenv.stp()
+msc = tenv.msc(hlr, mgw_msc, stp)
+bsc = tenv.bsc(msc, mgw_bsc, stp)
 bsc.bts_add(bts)
 
-ms = suite.modem()
-esme = suite.esme()
+ms = tenv.modem()
+esme = tenv.esme()
 msc.smsc.esme_add(esme)
 
 hlr.start()
diff --git a/sysmocom/suites/sms/mo_mt_sms.py b/sysmocom/suites/sms/mo_mt_sms.py
index 7654ea6..51e78c0 100755
--- a/sysmocom/suites/sms/mo_mt_sms.py
+++ b/sysmocom/suites/sms/mo_mt_sms.py
@@ -1,15 +1,15 @@
 #!/usr/bin/env python3
 from osmo_gsm_tester.testenv import *
 
-hlr = suite.hlr()
-bts = suite.bts()
-mgw_msc = suite.mgw()
-mgw_bsc = suite.mgw()
-stp = suite.stp()
-msc = suite.msc(hlr, mgw_msc, stp)
-bsc = suite.bsc(msc, mgw_bsc, stp)
-ms_mo = suite.modem()
-ms_mt = suite.modem()
+hlr = tenv.hlr()
+bts = tenv.bts()
+mgw_msc = tenv.mgw()
+mgw_bsc = tenv.mgw()
+stp = tenv.stp()
+msc = tenv.msc(hlr, mgw_msc, stp)
+bsc = tenv.bsc(msc, mgw_bsc, stp)
+ms_mo = tenv.modem()
+ms_mt = tenv.modem()
 
 hlr.start()
 stp.start()
diff --git a/sysmocom/suites/ussd/assert_extension.py b/sysmocom/suites/ussd/assert_extension.py
index 475de09..bac311f 100755
--- a/sysmocom/suites/ussd/assert_extension.py
+++ b/sysmocom/suites/ussd/assert_extension.py
@@ -3,14 +3,14 @@
 
 USSD_COMMAND_GET_EXTENSION = '*#100#'
 
-hlr = suite.hlr()
-bts = suite.bts()
-mgw_msc = suite.mgw()
-mgw_bsc = suite.mgw()
-stp = suite.stp()
-msc = suite.msc(hlr, mgw_msc, stp)
-bsc = suite.bsc(msc, mgw_bsc, stp)
-ms = suite.modem()
+hlr = tenv.hlr()
+bts = tenv.bts()
+mgw_msc = tenv.mgw()
+mgw_bsc = tenv.mgw()
+stp = tenv.stp()
+msc = tenv.msc(hlr, mgw_msc, stp)
+bsc = tenv.bsc(msc, mgw_bsc, stp)
+ms = tenv.modem()
 
 hlr.start()
 stp.start()
diff --git a/sysmocom/suites/voice/lib/testlib.py b/sysmocom/suites/voice/lib/testlib.py
index 7d934f1..3ec6d67 100644
--- a/sysmocom/suites/voice/lib/testlib.py
+++ b/sysmocom/suites/voice/lib/testlib.py
@@ -2,15 +2,15 @@
 from osmo_gsm_tester.testenv import *
 
 def test_mo_mt_call(use_osmux=False, force_osmux=False):
-    hlr = suite.hlr()
-    bts = suite.bts()
-    mgw_msc = suite.mgw()
-    mgw_bsc = suite.mgw()
-    stp = suite.stp()
-    msc = suite.msc(hlr, mgw_msc, stp)
-    bsc = suite.bsc(msc, mgw_bsc, stp)
-    ms_mo = suite.modem()
-    ms_mt = suite.modem()
+    hlr = tenv.hlr()
+    bts = tenv.bts()
+    mgw_msc = tenv.mgw()
+    mgw_bsc = tenv.mgw()
+    stp = tenv.stp()
+    msc = tenv.msc(hlr, mgw_msc, stp)
+    bsc = tenv.bsc(msc, mgw_bsc, stp)
+    ms_mo = tenv.modem()
+    ms_mt = tenv.modem()
 
     hlr.start()
     stp.start()
diff --git a/sysmocom/suites/voice/mo_mt_call.py b/sysmocom/suites/voice/mo_mt_call.py
index 740b1fe..2a2afa4 100755
--- a/sysmocom/suites/voice/mo_mt_call.py
+++ b/sysmocom/suites/voice/mo_mt_call.py
@@ -2,7 +2,7 @@
 from osmo_gsm_tester.testenv import *
 
 import testlib
-suite.test_import_modules_register_for_cleanup(testlib)
+tenv.test_import_modules_register_for_cleanup(testlib)
 from testlib import test_mo_mt_call
 
 test_mo_mt_call(False, False)
diff --git a/sysmocom/suites/voice/mo_mt_call_osmux.py b/sysmocom/suites/voice/mo_mt_call_osmux.py
index acf7d71..c65caab 100755
--- a/sysmocom/suites/voice/mo_mt_call_osmux.py
+++ b/sysmocom/suites/voice/mo_mt_call_osmux.py
@@ -2,7 +2,7 @@
 from osmo_gsm_tester.testenv import *
 
 import testlib
-suite.test_import_modules_register_for_cleanup(testlib)
+tenv.test_import_modules_register_for_cleanup(testlib)
 from testlib import test_mo_mt_call
 
 test_mo_mt_call(True, True)
