diff --git a/python/trx/__init__.py b/python/trx/__init__.py
index fda783e..c512262 100644
--- a/python/trx/__init__.py
+++ b/python/trx/__init__.py
@@ -20,10 +20,11 @@
 This is a set of helper classes for the grgsm_trx application.
 '''
 
-from udp_link import udp_link
-from ctrl_if import ctrl_if
-from ctrl_if_bb import ctrl_if_bb
-from fake_pm import fake_pm
-from radio_if_grc import radio_if_grc
-from radio_if import radio_if
+from udp_link import UDPLink
+from ctrl_if import CTRLInterface
+from ctrl_if_bb import CTRLInterfaceBB
+from fake_pm import FakePM
+from radio_if_grc import RadioInterfaceGRC
+from radio_if import RadioInterface
+
 from dict_toggle_sign import dict_toggle_sign
diff --git a/python/trx/ctrl_if.py b/python/trx/ctrl_if.py
index ae5cf05..fc43b7f 100644
--- a/python/trx/ctrl_if.py
+++ b/python/trx/ctrl_if.py
@@ -22,9 +22,9 @@
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-from grgsm.trx import udp_link
+from grgsm.trx import UDPLink
 
-class ctrl_if(udp_link):
+class CTRLInterface(UDPLink):
 	def handle_rx(self, data, remote):
 		if self.verify_req(data):
 			request = self.prepare_req(data)
diff --git a/python/trx/ctrl_if_bb.py b/python/trx/ctrl_if_bb.py
index fe0002e..781c35c 100644
--- a/python/trx/ctrl_if_bb.py
+++ b/python/trx/ctrl_if_bb.py
@@ -23,11 +23,12 @@
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 import grgsm
-from ctrl_if import ctrl_if
 
-class ctrl_if_bb(ctrl_if):
+from ctrl_if import CTRLInterface
+
+class CTRLInterfaceBB(CTRLInterface):
 	def __init__(self, remote_addr, remote_port, bind_addr, bind_port, tb, pm):
-		ctrl_if.__init__(self, remote_addr, remote_port,
+		CTRLInterface.__init__(self, remote_addr, remote_port,
 			bind_addr, bind_port)
 
 		print("[i] Init CTRL interface (%s)" % self.desc_link())
diff --git a/python/trx/fake_pm.py b/python/trx/fake_pm.py
index 72cf771..1d76916 100644
--- a/python/trx/fake_pm.py
+++ b/python/trx/fake_pm.py
@@ -24,7 +24,7 @@
 
 from random import randint
 
-class fake_pm:
+class FakePM:
 	# Freq. list for good power level
 	bts_list = []
 
diff --git a/python/trx/radio_if.py b/python/trx/radio_if.py
index 49e6788..55c8d92 100644
--- a/python/trx/radio_if.py
+++ b/python/trx/radio_if.py
@@ -40,7 +40,7 @@
 
 from dict_toggle_sign import dict_toggle_sign
 
-class radio_if(gr.top_block):
+class RadioInterface(gr.top_block):
 	# PHY specific variables
 	rx_freq = 935e6
 	tx_freq = 890e6
diff --git a/python/trx/radio_if_grc.py b/python/trx/radio_if_grc.py
index 8a92f6e..fb9b100 100755
--- a/python/trx/radio_if_grc.py
+++ b/python/trx/radio_if_grc.py
@@ -24,7 +24,7 @@
 import time
 
 
-class radio_if_grc(gr.top_block):
+class RadioInterfaceGRC(gr.top_block):
 
     def __init__(self, delay_correction=285.616e-6, osr=4, ppm=-0.799427, rx_freq=935e6+36*0.2e6, rx_gain=40, samp_rate=13e6/12.0, timing_advance=0, trx_base_port="5710", trx_remote_addr="127.0.0.1", tx_freq=935e6+36*0.2e6-45e6, tx_gain=40, uplink_shift=-(6.0/1625000*(156.25)*3)):
         gr.top_block.__init__(self, "Trx radio interface")
@@ -255,7 +255,7 @@
     return parser
 
 
-def main(top_block_cls=radio_if_grc, options=None):
+def main(top_block_cls=RadioInterfaceGRC, options=None):
     if options is None:
         options, _ = argument_parser().parse_args()
 
diff --git a/python/trx/udp_link.py b/python/trx/udp_link.py
index ad84e5a..f726751 100644
--- a/python/trx/udp_link.py
+++ b/python/trx/udp_link.py
@@ -25,7 +25,7 @@
 import socket
 import select
 
-class udp_link:
+class UDPLink:
 	def __init__(self, remote_addr, remote_port, bind_addr = '0.0.0.0', bind_port = 0):
 		self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
 		self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
