diff --git a/python/misc_utils/arfcn.py b/python/misc_utils/arfcn.py
old mode 100644
new mode 100755
index 86d379d..349e8ce
--- a/python/misc_utils/arfcn.py
+++ b/python/misc_utils/arfcn.py
@@ -2,6 +2,7 @@
 # -*- coding: utf-8 -*-
 # @file
 # @author (C) 2015 by Roman Khassraf <rkhassraf@gmail.com>
+#         (C) 2017 by Piotr Krysik <ptrkrysik@gmail.com>
 # @section LICENSE
 #
 # Gr-gsm is free software; you can redistribute it and/or modify
@@ -23,32 +24,66 @@
 
 import collections
 
+__chan_spacing = 2e5
+__arfcn_pcs = 0x8000
+
 # first uplink freq, distance between uplink/downlink frequency, list of range tuple
 # each tuple in a range tuple contains: first arfcn of the range, last arfcn of the range, offset of the range
 # entries are ordered by relevance
 __band_conf = collections.OrderedDict([
-    ('P-GSM', {'f_start': 890.0e6, 'distance': 45e6, 'ranges': [(1, 124, 0)]}),
-    ('DCS1800', {'f_start': 1710.2e6, 'distance': 95e6, 'ranges': [(512, 885, 512)]}),
-    ('PCS1900', {'f_start': 1850.2e6, 'distance': 80e6, 'ranges': [(512, 810, 512)]}),
-    ('E-GSM', {'f_start': 890.0e6, 'distance': 45e6, 'ranges': [(0, 124, 0), (975, 1023, 1024)]}),
-    ('R-GSM', {'f_start': 890.0e6, 'distance': 45e6, 'ranges': [(0, 124, 0), (955, 1023, 1024)]}),
-    ('GSM450', {'f_start': 450.6e6, 'distance': 10e6, 'ranges': [(259, 293, 259)]}),
-    ('GSM480', {'f_start': 479e6, 'distance': 10e6, 'ranges': [(306, 340, 306)]}),
-    ('GSM850', {'f_start': 824.2e6, 'distance': 45e6, 'ranges': [(128, 251, 128)]}),
+    ('GSM900', {'f_start': 880.2e6, 'distance': 45e6, 'ranges': [(975, 1023), (0, 124)]}),
+    ('DCS1800', {'f_start': 1710.2e6, 'distance': 95e6, 'ranges': [(512, 885)]}),
+    ('GSM850', {'f_start': 824.2e6, 'distance': 45e6, 'ranges': [(128, 251)]}),
+    ('PCS1900', {'f_start': 1850.2e6, 'distance': 80e6, 'ranges': [(512+__arfcn_pcs, 810+__arfcn_pcs)]}), #PCS band is "special" as its channel number range overlap with DCS1800
+    ('GSM450', {'f_start': 450.6e6, 'distance': 10e6, 'ranges': [(259, 293)]}),
+    ('GSM480', {'f_start': 479e6, 'distance': 10e6, 'ranges': [(306, 340)]}),
+    ('GSM-R', {'f_start': 876.2e6, 'distance': 45e6, 'ranges': [(955, 1023), (0, 124)]}),
 ])
 
-__chan_spacing = 2e5
-
 
 def get_bands():
     return __band_conf.keys()
 
+def arfcn2band(arfcn):
+    for band_name,band_desc in __band_conf.items():
+        for arfcns_range in band_desc["ranges"]:
+            arfcn_start = arfcns_range[0]
+            arfcn_stop  = arfcns_range[1]
+            if arfcn_start <= arfcn <= arfcn_stop:
+                return band_name
+    return None
+    
+def freq2band(freq, downlink=False):
+    for band_name,band_desc in __band_conf.items():
+        chans_total = 0
+        #count total number of channels in the range
+        for arfcns_range in band_desc["ranges"]:
+            arfcn_start = arfcns_range[0]
+            arfcn_stop  = arfcns_range[1]
+            chans_in_range = arfcn_stop - arfcn_start + 1
+            chans_total = chans_total + chans_in_range
 
-def is_valid_arfcn(arfcn, band):
+        first_freq = band_desc["f_start"]
+        if downlink:
+            first_freq = first_freq + band_desc["distance"]
+        last_freq  = first_freq + (chans_total - 1) * __chan_spacing
+        
+        if first_freq <= freq <= last_freq:
+            return band_name
+    return None
+
+def uplink2band(freq):
+    return freq2band(freq, False)
+
+def downlink2band(freq):
+    return freq2band(freq, True)
+    
+def is_valid_arfcn(arfcn):
     """
     Returns True if arfcn is valid in the given band, else False
     """
-    if band in __band_conf:
+    band = arfcn2band(arfcn)
+    if band is not None:
         conf = __band_conf.get(band)
         for arfcn_range in conf['ranges']:
             arfcn_start = arfcn_range[0]
@@ -58,92 +93,78 @@
     return False
 
 
-def is_valid_uplink(freq, band):
+def is_valid_uplink(freq):
     """
     Returns True if the given frequency is a valid uplink frequency in the given band
     """
-    result = None
-    if band in __band_conf:
-        conf = __band_conf.get(band)
-        result = False
-        for arfcn_range in conf['ranges']:
-            arfcn_start = arfcn_range[0]
-            arfcn_end = arfcn_range[1]
-            first_freq = arfcn2uplink(arfcn_start, band)
-            last_freq = arfcn2uplink(arfcn_end, band)
-            if first_freq is None or last_freq is None:
-                result = False
-            elif first_freq <= freq <= last_freq:
-                result = True
+    result = False
+    band = uplink2band(freq)
+    if band is not None:
+        result = True
+        
     return result
 
-
-def is_valid_downlink(freq, band):
+def is_valid_downlink(freq):
     """
     Returns True if the given frequency is a valid downlink frequency in the given band
     """
-    result = None
-    if band in __band_conf:
-        conf = __band_conf.get(band)
-        result = False
-        for arfcn_range in conf['ranges']:
-            arfcn_start = arfcn_range[0]
-            arfcn_end = arfcn_range[1]
-            first_freq = arfcn2downlink(arfcn_start, band)
-            last_freq = arfcn2downlink(arfcn_end, band)
-            if first_freq is None or last_freq is None:
-                result = False
-            elif first_freq <= freq <= last_freq:
-                result = True
+    result = False
+    band = downlink2band(freq)
+    if band is not None:
+        result = True
+        
     return result
 
-
-def arfcn2uplink(arfcn, band):
-    if band in __band_conf and is_valid_arfcn(arfcn, band):
+def arfcn2uplink(arfcn):
+    band = arfcn2band(arfcn)
+    if band is not None:
         conf = __band_conf.get(band)
         f_start = conf['f_start']
-        offset = None
+        arfcns_total = 0
         for arfcn_range in conf['ranges']:
             arfcn_start = arfcn_range[0]
             arfcn_end = arfcn_range[1]
-            if arfcn_start <= arfcn <= arfcn_end:
-                offset = arfcn_range[2]
 
-        if offset is not None:
-            f = f_start + (__chan_spacing * (arfcn - offset))
-            return round(f, 1)
+            if arfcn_start <= arfcn <= arfcn_end:
+                f = f_start + (__chan_spacing * (arfcn - arfcn_start + arfcns_total))
+                return round(f, 1)
+            arfcns_total = arfcn_end - arfcn_start + 1
     return -1
 
 
-def arfcn2downlink(arfcn, band):
-    if band in __band_conf and is_valid_arfcn(arfcn, band):
+def arfcn2downlink(arfcn):
+    band = arfcn2band(arfcn)
+    if band is not None:
         conf = __band_conf.get(band)
         distance = conf['distance']
-        return round(arfcn2uplink(arfcn, band) + distance, 1)
+        return round(arfcn2uplink(arfcn) + distance, 1)
     return -1
 
-
-def uplink2arfcn(freq, band):
-    if band in __band_conf and is_valid_uplink(freq, band):
+def uplink2arfcn(freq):
+    band = uplink2band(freq)
+    if band is not None:
         conf = __band_conf.get(band)
-        f_start = conf['f_start']
-        offset = None
+        arfcns_total = 0
         for arfcn_range in conf['ranges']:
             arfcn_start = arfcn_range[0]
             arfcn_end = arfcn_range[1]
-            offset = arfcn_range[2]
-            arfcn = int(round(offset + ((freq - f_start) / __chan_spacing), 0))
-            if arfcn_start <= arfcn <= arfcn_end:
+            arfcns_in_range = arfcn_end - arfcn_start + 1
+           
+            freq_start = conf['f_start'] + arfcns_total * __chan_spacing
+            freq_end = freq_start + (arfcns_in_range - 1) * __chan_spacing 
+            if freq_start <= freq <= freq_end:
+                arfcn = int(round(arfcn_start + ((freq - freq_start) / __chan_spacing), 0))
                 return arfcn
+            arfcns_total = arfcns_total + arfcns_in_range
     return -1
 
-
-def downlink2arfcn(freq, band):
-    if band in __band_conf and is_valid_downlink(freq, band):
+def downlink2arfcn(freq):
+    band = downlink2band(freq)
+    if band is not None:
         conf = __band_conf.get(band)
         distance = conf['distance']
         freq_uplink = freq - distance
-        return int(round(uplink2arfcn(freq_uplink, band), 0))
+        return int(round(uplink2arfcn(freq_uplink), 0))
     return -1
 
 
@@ -158,3 +179,4 @@
             arfcn_tuple = (arfcn_range[0], arfcn_range[1])
             result.append(arfcn_tuple)
     return result
+
diff --git a/python/qa_arfcn.py b/python/qa_arfcn.py
index 1b7fb73..8fc4695 100755
--- a/python/qa_arfcn.py
+++ b/python/qa_arfcn.py
@@ -27,280 +27,241 @@
 import os
 import sys
 
-
 class qa_arfcn(gr_unittest.TestCase):
     def test_001_is_valid_arfcn(self):
-        self.assertTrue(arfcn.is_valid_arfcn(259, 'GSM450'))
-        self.assertTrue(arfcn.is_valid_arfcn(277, 'GSM450'))
-        self.assertTrue(arfcn.is_valid_arfcn(293, 'GSM450'))
-        self.assertFalse(arfcn.is_valid_arfcn(258, 'GSM450'))
-        self.assertFalse(arfcn.is_valid_arfcn(294, 'GSM450'))
+        self.assertTrue(arfcn.is_valid_arfcn(259))
+        self.assertTrue(arfcn.is_valid_arfcn(277))
+        self.assertTrue(arfcn.is_valid_arfcn(293))
+        self.assertFalse(arfcn.is_valid_arfcn(258))
+        self.assertFalse(arfcn.is_valid_arfcn(294))
 
-        self.assertTrue(arfcn.is_valid_arfcn(306, 'GSM480'))
-        self.assertTrue(arfcn.is_valid_arfcn(323, 'GSM480'))
-        self.assertTrue(arfcn.is_valid_arfcn(340, 'GSM480'))
-        self.assertFalse(arfcn.is_valid_arfcn(305, 'GSM480'))
-        self.assertFalse(arfcn.is_valid_arfcn(341, 'GSM480'))
+        self.assertTrue(arfcn.is_valid_arfcn(306))
+        self.assertTrue(arfcn.is_valid_arfcn(323))
+        self.assertTrue(arfcn.is_valid_arfcn(340))
+        self.assertFalse(arfcn.is_valid_arfcn(305))
+        self.assertFalse(arfcn.is_valid_arfcn(341))
 
-        self.assertTrue(arfcn.is_valid_arfcn(128, 'GSM850'))
-        self.assertTrue(arfcn.is_valid_arfcn(199, 'GSM850'))
-        self.assertTrue(arfcn.is_valid_arfcn(251, 'GSM850'))
-        self.assertFalse(arfcn.is_valid_arfcn(127, 'GSM480'))
-        self.assertFalse(arfcn.is_valid_arfcn(251, 'GSM480'))
+        self.assertTrue(arfcn.is_valid_arfcn(128))
+        self.assertTrue(arfcn.is_valid_arfcn(199))
+        self.assertTrue(arfcn.is_valid_arfcn(251))
+        self.assertFalse(arfcn.is_valid_arfcn(127))
+        self.assertFalse(arfcn.is_valid_arfcn(252))
 
-        self.assertTrue(arfcn.is_valid_arfcn(1, 'P-GSM'))
-        self.assertTrue(arfcn.is_valid_arfcn(63, 'P-GSM'))
-        self.assertTrue(arfcn.is_valid_arfcn(124, 'P-GSM'))
-        self.assertFalse(arfcn.is_valid_arfcn(0, 'P-GSM'))
-        self.assertFalse(arfcn.is_valid_arfcn(125, 'P-GSM'))
 
-        self.assertTrue(arfcn.is_valid_arfcn(0, 'E-GSM'))
-        self.assertTrue(arfcn.is_valid_arfcn(1, 'E-GSM'))
-        self.assertTrue(arfcn.is_valid_arfcn(124, 'E-GSM'))
-        self.assertFalse(arfcn.is_valid_arfcn(125, 'E-GSM'))
+        self.assertTrue(arfcn.is_valid_arfcn(0))
+        self.assertTrue(arfcn.is_valid_arfcn(1))
+        self.assertTrue(arfcn.is_valid_arfcn(124))
+        self.assertFalse(arfcn.is_valid_arfcn(125))
 
-        self.assertTrue(arfcn.is_valid_arfcn(975, 'E-GSM'))
-        self.assertTrue(arfcn.is_valid_arfcn(999, 'E-GSM'))
-        self.assertTrue(arfcn.is_valid_arfcn(1023, 'E-GSM'))
-        self.assertFalse(arfcn.is_valid_arfcn(974, 'E-GSM'))
-        self.assertFalse(arfcn.is_valid_arfcn(1024, 'E-GSM'))
+        self.assertTrue(arfcn.is_valid_arfcn(0))
+        self.assertTrue(arfcn.is_valid_arfcn(1))
+        self.assertTrue(arfcn.is_valid_arfcn(124))
+        self.assertFalse(arfcn.is_valid_arfcn(125))
 
-        self.assertTrue(arfcn.is_valid_arfcn(0, 'R-GSM'))
-        self.assertTrue(arfcn.is_valid_arfcn(1, 'R-GSM'))
-        self.assertTrue(arfcn.is_valid_arfcn(124, 'R-GSM'))
-        self.assertFalse(arfcn.is_valid_arfcn(125, 'R-GSM'))
+        self.assertTrue(arfcn.is_valid_arfcn(955))
+        self.assertTrue(arfcn.is_valid_arfcn(989))
+        self.assertTrue(arfcn.is_valid_arfcn(1023))
+        self.assertFalse(arfcn.is_valid_arfcn(954))
+        self.assertFalse(arfcn.is_valid_arfcn(1024))
 
-        self.assertTrue(arfcn.is_valid_arfcn(955, 'R-GSM'))
-        self.assertTrue(arfcn.is_valid_arfcn(989, 'R-GSM'))
-        self.assertTrue(arfcn.is_valid_arfcn(1023, 'R-GSM'))
-        self.assertFalse(arfcn.is_valid_arfcn(954, 'R-GSM'))
-        self.assertFalse(arfcn.is_valid_arfcn(1024, 'R-GSM'))
-
-        self.assertTrue(arfcn.is_valid_arfcn(512, 'DCS1800'))
-        self.assertTrue(arfcn.is_valid_arfcn(732, 'DCS1800'))
-        self.assertTrue(arfcn.is_valid_arfcn(885, 'DCS1800'))
-        self.assertFalse(arfcn.is_valid_arfcn(511, 'DCS1800'))
-        self.assertFalse(arfcn.is_valid_arfcn(886, 'DCS1800'))
-
-        self.assertTrue(arfcn.is_valid_arfcn(512, 'PCS1900'))
-        self.assertTrue(arfcn.is_valid_arfcn(691, 'PCS1900'))
-        self.assertTrue(arfcn.is_valid_arfcn(810, 'PCS1900'))
-        self.assertFalse(arfcn.is_valid_arfcn(511, 'PCS1900'))
-        self.assertFalse(arfcn.is_valid_arfcn(811, 'PCS1900'))
+        self.assertTrue(arfcn.is_valid_arfcn(512))
+        self.assertTrue(arfcn.is_valid_arfcn(732))
+        self.assertTrue(arfcn.is_valid_arfcn(885))
+        self.assertFalse(arfcn.is_valid_arfcn(511))
+        self.assertFalse(arfcn.is_valid_arfcn(886))
+        
+        self.assertTrue(arfcn.is_valid_arfcn(512+2**15))
+        self.assertTrue(arfcn.is_valid_arfcn(691+2**15))
+        self.assertTrue(arfcn.is_valid_arfcn(810+2**15))
+        self.assertFalse(arfcn.is_valid_arfcn(511+2**15))
+        self.assertFalse(arfcn.is_valid_arfcn(811+2**15))
 
     def test_002_is_valid_uplink(self):
-        self.assertTrue(arfcn.is_valid_uplink(450.6e6, 'GSM450'))
-        self.assertTrue(arfcn.is_valid_uplink(457.4e6, 'GSM450'))
-        self.assertFalse(arfcn.is_valid_uplink(450.4e6, 'GSM450'))
-        self.assertFalse(arfcn.is_valid_uplink(457.6e6, 'GSM450'))
+        self.assertTrue(arfcn.is_valid_uplink(450.6e6))
+        self.assertTrue(arfcn.is_valid_uplink(457.4e6))
+        self.assertFalse(arfcn.is_valid_uplink(450.4e6))
+        self.assertFalse(arfcn.is_valid_uplink(457.6e6))
 
-        self.assertTrue(arfcn.is_valid_uplink(479e6, 'GSM480'))
-        self.assertTrue(arfcn.is_valid_uplink(485.8e6, 'GSM480'))
-        self.assertFalse(arfcn.is_valid_uplink(478.8e6, 'GSM480'))
-        self.assertFalse(arfcn.is_valid_uplink(486e6, 'GSM480'))
+        self.assertTrue(arfcn.is_valid_uplink(479e6))
+        self.assertTrue(arfcn.is_valid_uplink(485.8e6))
+        self.assertFalse(arfcn.is_valid_uplink(478.8e6))
+        self.assertFalse(arfcn.is_valid_uplink(486e6))
 
-        self.assertTrue(arfcn.is_valid_uplink(824.2e6, 'GSM850'))
-        self.assertTrue(arfcn.is_valid_uplink(848.8e6, 'GSM850'))
-        self.assertFalse(arfcn.is_valid_uplink(824e6, 'GSM850'))
-        self.assertFalse(arfcn.is_valid_uplink(849e6, 'GSM850'))
+        self.assertTrue(arfcn.is_valid_uplink(824.2e6))
+        self.assertTrue(arfcn.is_valid_uplink(848.8e6))
+        self.assertFalse(arfcn.is_valid_uplink(824e6))
+        self.assertFalse(arfcn.is_valid_uplink(849e6))
 
-        self.assertTrue(arfcn.is_valid_uplink(890.2e6, 'P-GSM'))
-        self.assertTrue(arfcn.is_valid_uplink(914.8e6, 'P-GSM'))
-        self.assertFalse(arfcn.is_valid_uplink(890e6, 'P-GSM'))
-        self.assertFalse(arfcn.is_valid_uplink(915e6, 'P-GSM'))
+        self.assertTrue(arfcn.is_valid_uplink(876.2e6))
+        self.assertTrue(arfcn.is_valid_uplink(889.8e6))
+        self.assertTrue(arfcn.is_valid_uplink(890.0e6))
+        self.assertTrue(arfcn.is_valid_uplink(914.8e6))
+        self.assertFalse(arfcn.is_valid_uplink(876e6))
+        self.assertFalse(arfcn.is_valid_uplink(915e6))
 
-        self.assertTrue(arfcn.is_valid_uplink(880.2e6, 'E-GSM'))
-        self.assertTrue(arfcn.is_valid_uplink(889.8e6, 'E-GSM'))
-        self.assertTrue(arfcn.is_valid_uplink(890.0e6, 'E-GSM'))
-        self.assertTrue(arfcn.is_valid_uplink(914.8e6, 'E-GSM'))
-        self.assertFalse(arfcn.is_valid_uplink(880e6, 'E-GSM'))
-        self.assertFalse(arfcn.is_valid_uplink(915e6, 'E-GSM'))
+        self.assertTrue(arfcn.is_valid_uplink(1710.2e6))
+        self.assertTrue(arfcn.is_valid_uplink(1784.8e6))
+        self.assertFalse(arfcn.is_valid_uplink(1710e6))
+        self.assertFalse(arfcn.is_valid_uplink(1785e6))
 
-        self.assertTrue(arfcn.is_valid_uplink(876.2e6, 'R-GSM'))
-        self.assertTrue(arfcn.is_valid_uplink(889.8e6, 'R-GSM'))
-        self.assertTrue(arfcn.is_valid_uplink(890.0e6, 'R-GSM'))
-        self.assertTrue(arfcn.is_valid_uplink(914.8e6, 'R-GSM'))
-        self.assertFalse(arfcn.is_valid_uplink(876e6, 'R-GSM'))
-        self.assertFalse(arfcn.is_valid_uplink(915e6, 'R-GSM'))
-
-        self.assertTrue(arfcn.is_valid_uplink(1710.2e6, 'DCS1800'))
-        self.assertTrue(arfcn.is_valid_uplink(1784.8e6, 'DCS1800'))
-        self.assertFalse(arfcn.is_valid_uplink(1710e6, 'DCS1800'))
-        self.assertFalse(arfcn.is_valid_uplink(1785e6, 'DCS1800'))
-
-        self.assertTrue(arfcn.is_valid_uplink(1850.2e6, 'PCS1900'))
-        self.assertTrue(arfcn.is_valid_uplink(1909.8e6, 'PCS1900'))
-        self.assertFalse(arfcn.is_valid_uplink(1850e6, 'PCS1900'))
-        self.assertFalse(arfcn.is_valid_uplink(1910e6, 'PCS1900'))
+        self.assertTrue(arfcn.is_valid_uplink(1850.2e6))
+        self.assertTrue(arfcn.is_valid_uplink(1909.8e6))
+        self.assertFalse(arfcn.is_valid_uplink(1850e6))
+        self.assertFalse(arfcn.is_valid_uplink(1910e6))
 
     def test_003_is_valid_downlink(self):
-        self.assertTrue(arfcn.is_valid_downlink(460.6e6, 'GSM450'))
-        self.assertTrue(arfcn.is_valid_downlink(467.4e6, 'GSM450'))
-        self.assertFalse(arfcn.is_valid_downlink(460.4e6, 'GSM450'))
-        self.assertFalse(arfcn.is_valid_downlink(467.6e6, 'GSM450'))
+        self.assertTrue(arfcn.is_valid_downlink(460.6e6))
+        self.assertTrue(arfcn.is_valid_downlink(467.4e6))
+        self.assertFalse(arfcn.is_valid_downlink(460.4e6))
+        self.assertFalse(arfcn.is_valid_downlink(467.6e6))
 
-        self.assertTrue(arfcn.is_valid_downlink(489e6, 'GSM480'))
-        self.assertTrue(arfcn.is_valid_downlink(495.8e6, 'GSM480'))
-        self.assertFalse(arfcn.is_valid_downlink(488.8e6, 'GSM480'))
-        self.assertFalse(arfcn.is_valid_downlink(496e6, 'GSM480'))
+        self.assertTrue(arfcn.is_valid_downlink(489e6))
+        self.assertTrue(arfcn.is_valid_downlink(495.8e6))
+        self.assertFalse(arfcn.is_valid_downlink(488.8e6))
+        self.assertFalse(arfcn.is_valid_downlink(496e6))
 
-        self.assertTrue(arfcn.is_valid_downlink(869.2e6, 'GSM850'))
-        self.assertTrue(arfcn.is_valid_downlink(893.8e6, 'GSM850'))
-        self.assertFalse(arfcn.is_valid_downlink(869e6, 'GSM850'))
-        self.assertFalse(arfcn.is_valid_downlink(894e6, 'GSM850'))
+        self.assertTrue(arfcn.is_valid_downlink(869.2e6))
+        self.assertTrue(arfcn.is_valid_downlink(893.8e6))
+        self.assertFalse(arfcn.is_valid_downlink(869e6))
+        self.assertFalse(arfcn.is_valid_downlink(894e6))
 
-        self.assertTrue(arfcn.is_valid_downlink(935.2e6, 'P-GSM'))
-        self.assertTrue(arfcn.is_valid_downlink(959.8e6, 'P-GSM'))
-        self.assertFalse(arfcn.is_valid_downlink(935e6, 'P-GSM'))
-        self.assertFalse(arfcn.is_valid_downlink(960e6, 'P-GSM'))
+        self.assertTrue(arfcn.is_valid_downlink(921.2e6))
+        self.assertTrue(arfcn.is_valid_downlink(934.8e6))
+        self.assertTrue(arfcn.is_valid_downlink(935.0e6))
+        self.assertTrue(arfcn.is_valid_downlink(959.8e6))
+        self.assertFalse(arfcn.is_valid_downlink(921e6))
+        self.assertFalse(arfcn.is_valid_downlink(960e6))
 
-        self.assertTrue(arfcn.is_valid_downlink(925.2e6, 'E-GSM'))
-        self.assertTrue(arfcn.is_valid_downlink(934.8e6, 'E-GSM'))
-        self.assertTrue(arfcn.is_valid_downlink(935.0e6, 'E-GSM'))
-        self.assertTrue(arfcn.is_valid_downlink(959.8e6, 'E-GSM'))
-        self.assertFalse(arfcn.is_valid_downlink(925e6, 'E-GSM'))
-        self.assertFalse(arfcn.is_valid_downlink(960e6, 'E-GSM'))
+        self.assertTrue(arfcn.is_valid_downlink(1805.2e6))
+        self.assertTrue(arfcn.is_valid_downlink(1879.8e6))
+        self.assertFalse(arfcn.is_valid_downlink(1805e6))
+        self.assertFalse(arfcn.is_valid_downlink(1880e6))
 
-        self.assertTrue(arfcn.is_valid_downlink(921.2e6, 'R-GSM'))
-        self.assertTrue(arfcn.is_valid_downlink(934.8e6, 'R-GSM'))
-        self.assertTrue(arfcn.is_valid_downlink(935.0e6, 'R-GSM'))
-        self.assertTrue(arfcn.is_valid_downlink(959.8e6, 'R-GSM'))
-        self.assertFalse(arfcn.is_valid_downlink(921e6, 'R-GSM'))
-        self.assertFalse(arfcn.is_valid_downlink(960e6, 'R-GSM'))
-
-        self.assertTrue(arfcn.is_valid_downlink(1805.2e6, 'DCS1800'))
-        self.assertTrue(arfcn.is_valid_downlink(1879.8e6, 'DCS1800'))
-        self.assertFalse(arfcn.is_valid_downlink(1805e6, 'DCS1800'))
-        self.assertFalse(arfcn.is_valid_downlink(1880e6, 'DCS1800'))
-
-        self.assertTrue(arfcn.is_valid_downlink(1930.2e6, 'PCS1900'))
-        self.assertTrue(arfcn.is_valid_downlink(1989.8e6, 'PCS1900'))
-        self.assertFalse(arfcn.is_valid_downlink(1930e6, 'PCS1900'))
-        self.assertFalse(arfcn.is_valid_downlink(1990e6, 'PCS1900'))
+        self.assertTrue(arfcn.is_valid_downlink(1930.2e6))
+        self.assertTrue(arfcn.is_valid_downlink(1989.8e6))
+        self.assertFalse(arfcn.is_valid_downlink(1930e6))
+        self.assertFalse(arfcn.is_valid_downlink(1990e6))
 
     def test_004_arfcn2uplink(self):
-        self.assertEqual(450.6e6, arfcn.arfcn2uplink(259, 'GSM450'))
-        self.assertEqual(457.4e6, arfcn.arfcn2uplink(293, 'GSM450'))
+        self.assertEqual(450.6e6, arfcn.arfcn2uplink(259))
+        self.assertEqual(457.4e6, arfcn.arfcn2uplink(293))
 
-        self.assertEqual(479e6, arfcn.arfcn2uplink(306, 'GSM480'))
-        self.assertEqual(485.8e6, arfcn.arfcn2uplink(340, 'GSM480'))
+        self.assertEqual(479e6, arfcn.arfcn2uplink(306))
+        self.assertEqual(485.8e6, arfcn.arfcn2uplink(340))
 
-        self.assertEqual(824.2e6, arfcn.arfcn2uplink(128, 'GSM850'))
-        self.assertEqual(848.8e6, arfcn.arfcn2uplink(251, 'GSM850'))
+        self.assertEqual(824.2e6, arfcn.arfcn2uplink(128))
+        self.assertEqual(848.8e6, arfcn.arfcn2uplink(251))
 
-        self.assertEqual(890.2e6, arfcn.arfcn2uplink(1, 'P-GSM'))
-        self.assertEqual(914.8e6, arfcn.arfcn2uplink(124, 'P-GSM'))
+        self.assertEqual(890.2e6, arfcn.arfcn2uplink(1))
+        self.assertEqual(914.8e6, arfcn.arfcn2uplink(124))
 
-        self.assertEqual(890.0e6, arfcn.arfcn2uplink(0, 'E-GSM'))
-        self.assertEqual(914.8e6, arfcn.arfcn2uplink(124, 'E-GSM'))
-        self.assertEqual(880.2e6, arfcn.arfcn2uplink(975, 'E-GSM'))
-        self.assertEqual(889.8e6, arfcn.arfcn2uplink(1023, 'E-GSM'))
+        self.assertEqual(890.0e6, arfcn.arfcn2uplink(0))
+        self.assertEqual(914.8e6, arfcn.arfcn2uplink(124))
+        self.assertEqual(880.2e6, arfcn.arfcn2uplink(975))
+        self.assertEqual(889.8e6, arfcn.arfcn2uplink(1023))
 
-        self.assertEqual(890.0e6, arfcn.arfcn2uplink(0, 'R-GSM'))
-        self.assertEqual(914.8e6, arfcn.arfcn2uplink(124, 'R-GSM'))
-        self.assertEqual(876.2e6, arfcn.arfcn2uplink(955, 'R-GSM'))
-        self.assertEqual(889.8e6, arfcn.arfcn2uplink(1023, 'R-GSM'))
+        self.assertEqual(890.0e6, arfcn.arfcn2uplink(0))
+        self.assertEqual(914.8e6, arfcn.arfcn2uplink(124))
+        self.assertEqual(876.2e6, arfcn.arfcn2uplink(955))
+        self.assertEqual(889.8e6, arfcn.arfcn2uplink(1023))
 
-        self.assertEqual(1710.2e6, arfcn.arfcn2uplink(512, 'DCS1800'))
-        self.assertEqual(1784.8e6, arfcn.arfcn2uplink(885, 'DCS1800'))
+        self.assertEqual(1710.2e6, arfcn.arfcn2uplink(512))
+        self.assertEqual(1784.8e6, arfcn.arfcn2uplink(885))
 
-        self.assertEqual(1850.2e6, arfcn.arfcn2uplink(512, 'PCS1900'))
-        self.assertEqual(1909.8e6, arfcn.arfcn2uplink(810, 'PCS1900'))
+        self.assertEqual(1850.2e6, arfcn.arfcn2uplink(512+2**15))
+        self.assertEqual(1909.8e6, arfcn.arfcn2uplink(810+2**15))
 
     def test_005_arfcn2downlink(self):
-        self.assertEqual(460.6e6, arfcn.arfcn2downlink(259, 'GSM450'))
-        self.assertEqual(467.4e6, arfcn.arfcn2downlink(293, 'GSM450'))
+        self.assertEqual(460.6e6, arfcn.arfcn2downlink(259))
+        self.assertEqual(467.4e6, arfcn.arfcn2downlink(293))
 
-        self.assertEqual(489e6, arfcn.arfcn2downlink(306, 'GSM480'))
-        self.assertEqual(495.8e6, arfcn.arfcn2downlink(340, 'GSM480'))
+        self.assertEqual(489e6, arfcn.arfcn2downlink(306))
+        self.assertEqual(495.8e6, arfcn.arfcn2downlink(340))
 
-        self.assertEqual(869.2e6, arfcn.arfcn2downlink(128, 'GSM850'))
-        self.assertEqual(893.8e6, arfcn.arfcn2downlink(251, 'GSM850'))
+        self.assertEqual(869.2e6, arfcn.arfcn2downlink(128))
+        self.assertEqual(893.8e6, arfcn.arfcn2downlink(251))
 
-        self.assertEqual(935.2e6, arfcn.arfcn2downlink(1, 'P-GSM'))
-        self.assertEqual(959.8e6, arfcn.arfcn2downlink(124, 'P-GSM'))
+        self.assertEqual(935.2e6, arfcn.arfcn2downlink(1))
+        self.assertEqual(959.8e6, arfcn.arfcn2downlink(124))
 
-        self.assertEqual(935.0e6, arfcn.arfcn2downlink(0, 'E-GSM'))
-        self.assertEqual(959.8e6, arfcn.arfcn2downlink(124, 'E-GSM'))
-        self.assertEqual(925.2e6, arfcn.arfcn2downlink(975, 'E-GSM'))
-        self.assertEqual(934.8e6, arfcn.arfcn2downlink(1023, 'E-GSM'))
+        self.assertEqual(935.0e6, arfcn.arfcn2downlink(0))
+        self.assertEqual(959.8e6, arfcn.arfcn2downlink(124))
+        self.assertEqual(925.2e6, arfcn.arfcn2downlink(975))
+        self.assertEqual(934.8e6, arfcn.arfcn2downlink(1023))
 
-        self.assertEqual(935.0e6, arfcn.arfcn2downlink(0, 'R-GSM'))
-        self.assertEqual(959.8e6, arfcn.arfcn2downlink(124, 'R-GSM'))
-        self.assertEqual(921.2e6, arfcn.arfcn2downlink(955, 'R-GSM'))
-        self.assertEqual(934.8e6, arfcn.arfcn2downlink(1023, 'R-GSM'))
+        self.assertEqual(935.0e6, arfcn.arfcn2downlink(0))
+        self.assertEqual(959.8e6, arfcn.arfcn2downlink(124))
+        self.assertEqual(921.2e6, arfcn.arfcn2downlink(955))
+        self.assertEqual(934.8e6, arfcn.arfcn2downlink(1023))
 
-        self.assertEqual(1805.2e6, arfcn.arfcn2downlink(512, 'DCS1800'))
-        self.assertEqual(1879.8e6, arfcn.arfcn2downlink(885, 'DCS1800'))
+        self.assertEqual(1805.2e6, arfcn.arfcn2downlink(512))
+        self.assertEqual(1879.8e6, arfcn.arfcn2downlink(885))
 
-        self.assertEqual(1930.2e6, arfcn.arfcn2downlink(512, 'PCS1900'))
-        self.assertEqual(1989.8e6, arfcn.arfcn2downlink(810, 'PCS1900'))
-
+        self.assertEqual(1930.2e6, arfcn.arfcn2downlink(512+2**15))
+        self.assertEqual(1989.8e6, arfcn.arfcn2downlink(810+2**15))
     def test_006_uplink2arfcn(self):
-        self.assertEqual(259, arfcn.uplink2arfcn(450.6e6, 'GSM450'))
-        self.assertEqual(293, arfcn.uplink2arfcn(457.4e6, 'GSM450'))
+        self.assertEqual(259, arfcn.uplink2arfcn(450.6e6))
+        self.assertEqual(293, arfcn.uplink2arfcn(457.4e6))
 
-        self.assertEqual(306, arfcn.uplink2arfcn(479e6, 'GSM480'))
-        self.assertEqual(340, arfcn.uplink2arfcn(485.8e6, 'GSM480'))
+        self.assertEqual(306, arfcn.uplink2arfcn(479e6))
+        self.assertEqual(340, arfcn.uplink2arfcn(485.8e6))
 
-        self.assertEqual(128, arfcn.uplink2arfcn(824.2e6, 'GSM850'))
-        self.assertEqual(251, arfcn.uplink2arfcn(848.8e6, 'GSM850'))
+        self.assertEqual(128, arfcn.uplink2arfcn(824.2e6))
+        self.assertEqual(251, arfcn.uplink2arfcn(848.8e6))
 
-        self.assertEqual(1, arfcn.uplink2arfcn(890.2e6, 'P-GSM'))
-        self.assertEqual(124, arfcn.uplink2arfcn(914.8e6, 'P-GSM'))
+        self.assertEqual(1, arfcn.uplink2arfcn(890.2e6))
+        self.assertEqual(124, arfcn.uplink2arfcn(914.8e6))
 
-        self.assertEqual(0, arfcn.uplink2arfcn(890.0e6, 'E-GSM'))
-        self.assertEqual(124, arfcn.uplink2arfcn(914.8e6, 'E-GSM'))
-        self.assertEqual(975, arfcn.uplink2arfcn(880.2e6, 'E-GSM'))
-        self.assertEqual(1023, arfcn.uplink2arfcn(889.8e6, 'E-GSM'))
+        self.assertEqual(0, arfcn.uplink2arfcn(890.0e6))
+        self.assertEqual(124, arfcn.uplink2arfcn(914.8e6))
+        self.assertEqual(975, arfcn.uplink2arfcn(880.2e6))
+        self.assertEqual(1023, arfcn.uplink2arfcn(889.8e6))
 
-        self.assertEqual(0, arfcn.uplink2arfcn(890.0e6, 'R-GSM'))
-        self.assertEqual(124, arfcn.uplink2arfcn(914.8e6, 'R-GSM'))
-        self.assertEqual(955, arfcn.uplink2arfcn(876.2e6, 'R-GSM'))
-        self.assertEqual(1023, arfcn.uplink2arfcn(889.8e6, 'R-GSM'))
+        self.assertEqual(0, arfcn.uplink2arfcn(890.0e6))
+        self.assertEqual(124, arfcn.uplink2arfcn(914.8e6))
+        self.assertEqual(955, arfcn.uplink2arfcn(876.2e6))
+        self.assertEqual(1023, arfcn.uplink2arfcn(889.8e6))
 
-        self.assertEqual(512, arfcn.uplink2arfcn(1710.2e6, 'DCS1800'))
-        self.assertEqual(885, arfcn.uplink2arfcn(1784.8e6, 'DCS1800'))
+        self.assertEqual(512, arfcn.uplink2arfcn(1710.2e6))
+        self.assertEqual(885, arfcn.uplink2arfcn(1784.8e6))
 
-        self.assertEqual(512, arfcn.uplink2arfcn(1850.2e6, 'PCS1900'))
-        self.assertEqual(810, arfcn.uplink2arfcn(1909.8e6, 'PCS1900'))
+        self.assertEqual(512+2**15, arfcn.uplink2arfcn(1850.2e6))
+        self.assertEqual(810+2**15, arfcn.uplink2arfcn(1909.8e6))
 
     def test_007_downlink2arfcn(self):
-        self.assertEqual(259, arfcn.downlink2arfcn(460.6e6, 'GSM450'))
-        self.assertEqual(293, arfcn.downlink2arfcn(467.4e6, 'GSM450'))
+        self.assertEqual(259, arfcn.downlink2arfcn(460.6e6))
+        self.assertEqual(293, arfcn.downlink2arfcn(467.4e6))
 
-        self.assertEqual(306, arfcn.downlink2arfcn(489e6, 'GSM480'))
-        self.assertEqual(340, arfcn.downlink2arfcn(495.8e6, 'GSM480'))
+        self.assertEqual(306, arfcn.downlink2arfcn(489e6,))
+        self.assertEqual(340, arfcn.downlink2arfcn(495.8e6))
 
-        self.assertEqual(128, arfcn.downlink2arfcn(869.2e6, 'GSM850'))
-        self.assertEqual(251, arfcn.downlink2arfcn(893.8e6, 'GSM850'))
+        self.assertEqual(128, arfcn.downlink2arfcn(869.2e6))
+        self.assertEqual(251, arfcn.downlink2arfcn(893.8e6))
 
-        self.assertEqual(1, arfcn.downlink2arfcn(935.2e6, 'P-GSM'))
-        self.assertEqual(124, arfcn.downlink2arfcn(959.8e6, 'P-GSM'))
+        self.assertEqual(1, arfcn.downlink2arfcn(935.2e6))
+        self.assertEqual(124, arfcn.downlink2arfcn(959.8e6))
 
-        self.assertEqual(0, arfcn.downlink2arfcn(935.0e6, 'E-GSM'))
-        self.assertEqual(124, arfcn.downlink2arfcn(959.8e6, 'E-GSM'))
-        self.assertEqual(975, arfcn.downlink2arfcn(925.2e6, 'E-GSM'))
-        self.assertEqual(1023, arfcn.downlink2arfcn(934.8e6, 'E-GSM'))
+        self.assertEqual(0, arfcn.downlink2arfcn(935.0e6))
+        self.assertEqual(124, arfcn.downlink2arfcn(959.8e6))
+        self.assertEqual(975, arfcn.downlink2arfcn(925.2e6))
+        self.assertEqual(1023, arfcn.downlink2arfcn(934.8e6))
 
-        self.assertEqual(0, arfcn.downlink2arfcn(935.0e6, 'R-GSM'))
-        self.assertEqual(124, arfcn.downlink2arfcn(959.8e6, 'R-GSM'))
-        self.assertEqual(955, arfcn.downlink2arfcn(921.2e6, 'R-GSM'))
-        self.assertEqual(1023, arfcn.downlink2arfcn(934.8e6, 'R-GSM'))
+        self.assertEqual(0, arfcn.downlink2arfcn(935.0e6))
+        self.assertEqual(124, arfcn.downlink2arfcn(959.8e6))
+        self.assertEqual(955, arfcn.downlink2arfcn(921.2e6))
+        self.assertEqual(1023, arfcn.downlink2arfcn(934.8e6))
 
-        self.assertEqual(512, arfcn.downlink2arfcn(1805.2e6, 'DCS1800'))
-        self.assertEqual(885, arfcn.downlink2arfcn(1879.8e6, 'DCS1800'))
+        self.assertEqual(512, arfcn.downlink2arfcn(1805.2e6))
+        self.assertEqual(885, arfcn.downlink2arfcn(1879.8e6))
 
-        self.assertEqual(512, arfcn.downlink2arfcn(1930.2e6, 'PCS1900'))
-        self.assertEqual(810, arfcn.downlink2arfcn(1989.8e6, 'PCS1900'))
+        self.assertEqual(512+2**15, arfcn.downlink2arfcn(1930.2e6))
+        self.assertEqual(810+2**15, arfcn.downlink2arfcn(1989.8e6))
 
     def test_008_get_arfcn_ranges(self):
         self.assertEqual(1, len(arfcn.get_arfcn_ranges('GSM450')))
         self.assertEqual(1, len(arfcn.get_arfcn_ranges('GSM480')))
         self.assertEqual(1, len(arfcn.get_arfcn_ranges('GSM850')))
-        self.assertEqual(1, len(arfcn.get_arfcn_ranges('P-GSM')))
-        self.assertEqual(2, len(arfcn.get_arfcn_ranges('E-GSM')))
-        self.assertEqual(2, len(arfcn.get_arfcn_ranges('R-GSM')))
+        self.assertEqual(2, len(arfcn.get_arfcn_ranges('GSM900')))
         self.assertEqual(1, len(arfcn.get_arfcn_ranges('DCS1800')))
         self.assertEqual(1, len(arfcn.get_arfcn_ranges('PCS1900')))
 
