diff --git a/src/osmo_gsm_tester/osmo_bsc.py b/src/osmo_gsm_tester/bsc_osmo.py
similarity index 100%
rename from src/osmo_gsm_tester/osmo_bsc.py
rename to src/osmo_gsm_tester/bsc_osmo.py
diff --git a/src/osmo_gsm_tester/amarisoft_enb.py b/src/osmo_gsm_tester/enb_amarisoft.py
similarity index 99%
rename from src/osmo_gsm_tester/amarisoft_enb.py
rename to src/osmo_gsm_tester/enb_amarisoft.py
index c92bf50..1487bdd 100644
--- a/src/osmo_gsm_tester/amarisoft_enb.py
+++ b/src/osmo_gsm_tester/enb_amarisoft.py
@@ -49,7 +49,7 @@
 
     REMOTE_DIR = '/osmo-gsm-tester-amarisoftenb'
     BINFILE = 'lteenb'
-    CFGFILE = 'amarisoft_enb.cfg'
+    CFGFILE = 'enb_amarisoft.cfg'
     CFGFILE_SIB1 = 'amarisoft_sib1.asn'
     CFGFILE_SIB23 = 'amarisoft_sib23.asn'
     CFGFILE_RF = 'amarisoft_rf_driver.cfg'
diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/enb_srs.py
similarity index 100%
rename from src/osmo_gsm_tester/srs_enb.py
rename to src/osmo_gsm_tester/enb_srs.py
diff --git a/src/osmo_gsm_tester/amarisoft_epc.py b/src/osmo_gsm_tester/epc_amarisoft.py
similarity index 100%
rename from src/osmo_gsm_tester/amarisoft_epc.py
rename to src/osmo_gsm_tester/epc_amarisoft.py
diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/epc_srs.py
similarity index 100%
rename from src/osmo_gsm_tester/srs_epc.py
rename to src/osmo_gsm_tester/epc_srs.py
diff --git a/src/osmo_gsm_tester/osmo_ggsn.py b/src/osmo_gsm_tester/ggsn_osmo.py
similarity index 100%
rename from src/osmo_gsm_tester/osmo_ggsn.py
rename to src/osmo_gsm_tester/ggsn_osmo.py
diff --git a/src/osmo_gsm_tester/osmo_hlr.py b/src/osmo_gsm_tester/hlr_osmo.py
similarity index 100%
rename from src/osmo_gsm_tester/osmo_hlr.py
rename to src/osmo_gsm_tester/hlr_osmo.py
diff --git a/src/osmo_gsm_tester/osmo_mgcpgw.py b/src/osmo_gsm_tester/mgcpgw_osmo.py
similarity index 100%
rename from src/osmo_gsm_tester/osmo_mgcpgw.py
rename to src/osmo_gsm_tester/mgcpgw_osmo.py
diff --git a/src/osmo_gsm_tester/osmo_mgw.py b/src/osmo_gsm_tester/mgw_osmo.py
similarity index 100%
rename from src/osmo_gsm_tester/osmo_mgw.py
rename to src/osmo_gsm_tester/mgw_osmo.py
diff --git a/src/osmo_gsm_tester/amarisoft_ue.py b/src/osmo_gsm_tester/ms_amarisoft.py
similarity index 100%
rename from src/osmo_gsm_tester/amarisoft_ue.py
rename to src/osmo_gsm_tester/ms_amarisoft.py
diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/ms_srs.py
similarity index 100%
rename from src/osmo_gsm_tester/srs_ue.py
rename to src/osmo_gsm_tester/ms_srs.py
diff --git a/src/osmo_gsm_tester/osmo_msc.py b/src/osmo_gsm_tester/msc_osmo.py
similarity index 100%
rename from src/osmo_gsm_tester/osmo_msc.py
rename to src/osmo_gsm_tester/msc_osmo.py
diff --git a/src/osmo_gsm_tester/osmo_nitb.py b/src/osmo_gsm_tester/nitb_osmo.py
similarity index 100%
rename from src/osmo_gsm_tester/osmo_nitb.py
rename to src/osmo_gsm_tester/nitb_osmo.py
diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py
index c58bdc7..fa17bcd 100644
--- a/src/osmo_gsm_tester/resource.py
+++ b/src/osmo_gsm_tester/resource.py
@@ -29,7 +29,7 @@
 from . import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g
 from . import modem
 from . import ms_osmo_mobile
-from . import srs_ue, amarisoft_ue, srs_enb, amarisoft_enb, srs_epc, amarisoft_epc
+from . import ms_srs, ms_amarisoft, enb_srs, enb_amarisoft, epc_srs, epc_amarisoft
 
 from .util import is_dict, is_list
 
@@ -157,13 +157,13 @@
     }
 
 KNOWN_ENB_TYPES = {
-        'srsenb': srs_enb.srsENB,
-        'amarisoftenb': amarisoft_enb.AmarisoftENB,
+        'srsenb': enb_srs.srsENB,
+        'amarisoftenb': enb_amarisoft.AmarisoftENB,
 }
 
 KNOWN_EPC_TYPES = {
-        'srsepc': srs_epc.srsEPC,
-        'amarisoftepc': amarisoft_epc.AmarisoftEPC,
+        'srsepc': epc_srs.srsEPC,
+        'amarisoftepc': epc_amarisoft.AmarisoftEPC,
 }
 
 KNOWN_MS_TYPES = {
@@ -171,8 +171,8 @@
         None: modem.Modem,
         'ofono': modem.Modem,
         'osmo-mobile': ms_osmo_mobile.MSOsmoMobile,
-        'srsue': srs_ue.srsUE,
-        'amarisoftue': amarisoft_ue.AmarisoftUE,
+        'srsue': ms_srs.srsUE,
+        'amarisoftue': ms_amarisoft.AmarisoftUE,
 }
 
 
diff --git a/src/osmo_gsm_tester/osmo_sgsn.py b/src/osmo_gsm_tester/sgsn_osmo.py
similarity index 100%
rename from src/osmo_gsm_tester/osmo_sgsn.py
rename to src/osmo_gsm_tester/sgsn_osmo.py
diff --git a/src/osmo_gsm_tester/osmo_stp.py b/src/osmo_gsm_tester/stp_osmo.py
similarity index 100%
rename from src/osmo_gsm_tester/osmo_stp.py
rename to src/osmo_gsm_tester/stp_osmo.py
diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py
index 5076671..0ddd95f 100644
--- a/src/osmo_gsm_tester/suite.py
+++ b/src/osmo_gsm_tester/suite.py
@@ -23,7 +23,7 @@
 import pprint
 from . import config, log, util, resource, test
 from .event_loop import MainLoop
-from . import osmo_nitb, osmo_hlr, osmo_mgcpgw, osmo_mgw, osmo_msc, osmo_bsc, osmo_stp, osmo_ggsn, osmo_sgsn, esme, osmocon, ms_driver, iperf3, process
+from . import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3, process
 from . import run_node
 
 class Timeout(Exception):
@@ -275,47 +275,47 @@
     def nitb(self, ip_address=None):
         if ip_address is None:
             ip_address = self.ip_address()
-        return osmo_nitb.OsmoNitb(self, ip_address)
+        return nitb_osmo.OsmoNitb(self, ip_address)
 
     def hlr(self, ip_address=None):
         if ip_address is None:
             ip_address = self.ip_address()
-        return osmo_hlr.OsmoHlr(self, ip_address)
+        return hlr_osmo.OsmoHlr(self, ip_address)
 
     def ggsn(self, ip_address=None):
         if ip_address is None:
             ip_address = self.ip_address()
-        return osmo_ggsn.OsmoGgsn(self, ip_address)
+        return ggsn_osmo.OsmoGgsn(self, ip_address)
 
     def sgsn(self, hlr, ggsn, ip_address=None):
         if ip_address is None:
             ip_address = self.ip_address()
-        return osmo_sgsn.OsmoSgsn(self, hlr, ggsn, ip_address)
+        return sgsn_osmo.OsmoSgsn(self, hlr, ggsn, ip_address)
 
     def mgcpgw(self, ip_address=None, bts_ip=None):
         if ip_address is None:
             ip_address = self.ip_address()
-        return osmo_mgcpgw.OsmoMgcpgw(self, ip_address, bts_ip)
+        return mgcpgw_osmo.OsmoMgcpgw(self, ip_address, bts_ip)
 
     def mgw(self, ip_address=None):
         if ip_address is None:
             ip_address = self.ip_address()
-        return osmo_mgw.OsmoMgw(self, ip_address)
+        return mgw_osmo.OsmoMgw(self, ip_address)
 
     def msc(self, hlr, mgcpgw, stp, ip_address=None):
         if ip_address is None:
             ip_address = self.ip_address()
-        return osmo_msc.OsmoMsc(self, hlr, mgcpgw, stp, ip_address)
+        return msc_osmo.OsmoMsc(self, hlr, mgcpgw, stp, ip_address)
 
     def bsc(self, msc, mgw, stp, ip_address=None):
         if ip_address is None:
             ip_address = self.ip_address()
-        return osmo_bsc.OsmoBsc(self, msc, mgw, stp, ip_address)
+        return bsc_osmo.OsmoBsc(self, msc, mgw, stp, ip_address)
 
     def stp(self, ip_address=None):
         if ip_address is None:
             ip_address = self.ip_address()
-        return osmo_stp.OsmoStp(self, ip_address)
+        return stp_osmo.OsmoStp(self, ip_address)
 
     def ms_driver(self):
         ms = ms_driver.MsDriver(self)
