diff --git a/grc/CMakeLists.txt b/grc/CMakeLists.txt
index 101a121..2b94539 100644
--- a/grc/CMakeLists.txt
+++ b/grc/CMakeLists.txt
@@ -24,6 +24,5 @@
 add_subdirectory(flow_control)
 add_subdirectory(misc_utils)
 install(FILES
-    gsm_block_tree.xml
-    grgsm_uplink_downlink_filter.xml DESTINATION share/gnuradio/grc/blocks
+    gsm_block_tree.xml DESTINATION share/gnuradio/grc/blocks
 )
diff --git a/grc/flow_control/CMakeLists.txt b/grc/flow_control/CMakeLists.txt
index 30ddcad..a6a7319 100644
--- a/grc/flow_control/CMakeLists.txt
+++ b/grc/flow_control/CMakeLists.txt
@@ -23,5 +23,6 @@
     gsm_burst_timeslot_filter.xml
     gsm_dummy_burst_filter.xml
     gsm_burst_sdcch_subslot_splitter.xml
-    gsm_burst_sdcch_subslot_filter.xml DESTINATION share/gnuradio/grc/blocks
+    gsm_burst_sdcch_subslot_filter.xml 
+    gsm_uplink_downlink_splitter.xml DESTINATION share/gnuradio/grc/blocks
 )
diff --git a/grc/grgsm_uplink_downlink_filter.xml b/grc/flow_control/gsm_uplink_downlink_splitter.xml
similarity index 69%
rename from grc/grgsm_uplink_downlink_filter.xml
rename to grc/flow_control/gsm_uplink_downlink_splitter.xml
index 65d852d..5c0c932 100644
--- a/grc/grgsm_uplink_downlink_filter.xml
+++ b/grc/flow_control/gsm_uplink_downlink_splitter.xml
@@ -1,10 +1,9 @@
 <?xml version="1.0"?>
 <block>
-  <name>uplink_downlink_filter</name>
-  <key>grgsm_uplink_downlink_filter</key>
-  <category>GSM</category>
+  <name>Up/Down-link splitter</name>
+  <key>gsm_uplink_downlink_splitter</key>
   <import>import grgsm</import>
-  <make>grgsm.uplink_downlink_filter()</make>
+  <make>grgsm.uplink_downlink_splitter()</make>
   <sink>
     <name>in</name>
     <type>message</type>
diff --git a/grc/gsm_block_tree.xml b/grc/gsm_block_tree.xml
index 69120f0..f9ff1ff 100644
--- a/grc/gsm_block_tree.xml
+++ b/grc/gsm_block_tree.xml
@@ -47,6 +47,7 @@
       <block>gsm_burst_sdcch_subslot_filter</block>
       <block>gsm_burst_fnr_filter</block>
       <block>gsm_dummy_burst_filter</block>
+      <block>gsm_uplink_downlink_splitter</block>
     </cat>
     <cat>
       <name>Utilities</name>
diff --git a/include/grgsm/CMakeLists.txt b/include/grgsm/CMakeLists.txt
index 61f15bf..dc9b191 100644
--- a/include/grgsm/CMakeLists.txt
+++ b/include/grgsm/CMakeLists.txt
@@ -23,8 +23,7 @@
 install(FILES
     plotting.hpp
     api.h
-    gsmtap.h
-    uplink_downlink_filter.h DESTINATION include/grgsm
+    gsmtap.h DESTINATION include/grgsm
 )
 
 add_subdirectory(decoding)
diff --git a/include/grgsm/flow_control/CMakeLists.txt b/include/grgsm/flow_control/CMakeLists.txt
index a4156a4..9c20b59 100644
--- a/include/grgsm/flow_control/CMakeLists.txt
+++ b/include/grgsm/flow_control/CMakeLists.txt
@@ -26,5 +26,6 @@
     burst_timeslot_filter.h
     burst_sdcch_subslot_filter.h
     burst_fnr_filter.h
-    dummy_burst_filter.h DESTINATION include/grgsm/flow_control
+    dummy_burst_filter.h 
+    uplink_downlink_splitter.h DESTINATION include/grgsm/flow_control
 )
diff --git a/include/grgsm/uplink_downlink_filter.h b/include/grgsm/flow_control/uplink_downlink_splitter.h
similarity index 75%
rename from include/grgsm/uplink_downlink_filter.h
rename to include/grgsm/flow_control/uplink_downlink_splitter.h
index dec4af6..c8f1321 100644
--- a/include/grgsm/uplink_downlink_filter.h
+++ b/include/grgsm/flow_control/uplink_downlink_splitter.h
@@ -21,8 +21,8 @@
  */
 
 
-#ifndef INCLUDED_GRGSM_UPLINK_DOWNLINK_FILTER_H
-#define INCLUDED_GRGSM_UPLINK_DOWNLINK_FILTER_H
+#ifndef INCLUDED_GRGSM_UPLINK_DOWNLINK_SPLITTER_H
+#define INCLUDED_GRGSM_UPLINK_DOWNLINK_SPLITTER_H
 
 #include <grgsm/api.h>
 #include <gnuradio/block.h>
@@ -35,17 +35,17 @@
      * \ingroup grgsm
      *
      */
-    class GRGSM_API uplink_downlink_filter : virtual public gr::block
+    class GRGSM_API uplink_downlink_splitter : virtual public gr::block
     {
      public:
-      typedef boost::shared_ptr<uplink_downlink_filter> sptr;
+      typedef boost::shared_ptr<uplink_downlink_splitter> sptr;
 
       /*!
-       * \brief Return a shared_ptr to a new instance of grgsm::uplink_downlink_filter.
+       * \brief Return a shared_ptr to a new instance of grgsm::uplink_downlink_splitter.
        *
-       * To avoid accidental use of raw pointers, grgsm::uplink_downlink_filter's
+       * To avoid accidental use of raw pointers, grgsm::uplink_downlink_splitter's
        * constructor is in a private implementation
-       * class. grgsm::uplink_downlink_filter::make is the public interface for
+       * class. grgsm::uplink_downlink_splitter::make is the public interface for
        * creating new instances.
        */
       static sptr make();
@@ -54,5 +54,5 @@
   } // namespace grgsm
 } // namespace gr
 
-#endif /* INCLUDED_GRGSM_UPLINK_DOWNLINK_FILTER_H */
+#endif /* INCLUDED_GRGSM_UPLINK_DOWNLINK_SPLITTER_H */
 
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 402ad75..660bbfd 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -49,6 +49,7 @@
     flow_control/burst_sdcch_subslot_filter_impl.cc
     flow_control/burst_fnr_filter_impl.cc
     flow_control/dummy_burst_filter_impl.cc
+    flow_control/uplink_downlink_splitter_impl.cc
     misc_utils/controlled_rotator_cc_impl.cc
     misc_utils/controlled_fractional_resampler_cc_impl.cc
     misc_utils/msg_to_tag_impl.cc
@@ -66,7 +67,6 @@
     qa_utils/message_source_impl.cc
     qa_utils/message_sink_impl.cc
     decryption/decryption_impl.cc
-    uplink_downlink_filter_impl.cc
 )
 
 
diff --git a/lib/uplink_downlink_filter_impl.cc b/lib/flow_control/uplink_downlink_splitter_impl.cc
similarity index 79%
rename from lib/uplink_downlink_filter_impl.cc
rename to lib/flow_control/uplink_downlink_splitter_impl.cc
index 5dd41f2..b98102c 100644
--- a/lib/uplink_downlink_filter_impl.cc
+++ b/lib/flow_control/uplink_downlink_splitter_impl.cc
@@ -25,34 +25,34 @@
 #endif
 
 #include <gnuradio/io_signature.h>
-#include "uplink_downlink_filter_impl.h"
+#include "uplink_downlink_splitter_impl.h"
 #include <grgsm/gsmtap.h>
 #define BURST_SIZE 148
 namespace gr {
   namespace grgsm {
 
-    uplink_downlink_filter::sptr
-    uplink_downlink_filter::make()
+    uplink_downlink_splitter::sptr
+    uplink_downlink_splitter::make()
     {
       return gnuradio::get_initial_sptr
-        (new uplink_downlink_filter_impl());
+        (new uplink_downlink_splitter_impl());
     }
 
     /*
      * The private constructor
      */
-    uplink_downlink_filter_impl::uplink_downlink_filter_impl()
-      : gr::block("uplink_downlink_filter",
+    uplink_downlink_splitter_impl::uplink_downlink_splitter_impl()
+      : gr::block("uplink_downlink_splitter",
               gr::io_signature::make(0,0,0),
               gr::io_signature::make(0,0,0))
     {
         message_port_register_in(pmt::mp("in"));
         message_port_register_out(pmt::mp("uplink"));
         message_port_register_out(pmt::mp("downlink"));
-        set_msg_handler(pmt::mp("in"), boost::bind(&uplink_downlink_filter_impl::process_msg, this, _1));
+        set_msg_handler(pmt::mp("in"), boost::bind(&uplink_downlink_splitter_impl::process_msg, this, _1));
     }
 
-    void uplink_downlink_filter_impl::process_msg(pmt::pmt_t msg)
+    void uplink_downlink_splitter_impl::process_msg(pmt::pmt_t msg)
     {
         gsmtap_hdr * header = (gsmtap_hdr *)(pmt::blob_data(pmt::cdr(msg)));
         bool uplink_burst = (be16toh(header->arfcn) & 0x4000) ? true : false;
@@ -67,7 +67,7 @@
     /*
      * Our virtual destructor.
      */
-    uplink_downlink_filter_impl::~uplink_downlink_filter_impl()
+    uplink_downlink_splitter_impl::~uplink_downlink_splitter_impl()
     {
     }
   } /* namespace grgsm */
diff --git a/lib/uplink_downlink_filter_impl.h b/lib/flow_control/uplink_downlink_splitter_impl.h
similarity index 71%
rename from lib/uplink_downlink_filter_impl.h
rename to lib/flow_control/uplink_downlink_splitter_impl.h
index c510e29..bc4368a 100644
--- a/lib/uplink_downlink_filter_impl.h
+++ b/lib/flow_control/uplink_downlink_splitter_impl.h
@@ -20,24 +20,24 @@
  * 
  */
 
-#ifndef INCLUDED_GRGSM_UPLINK_DOWNLINK_FILTER_IMPL_H
-#define INCLUDED_GRGSM_UPLINK_DOWNLINK_FILTER_IMPL_H
+#ifndef INCLUDED_GRGSM_UPLINK_DOWNLINK_SPLITTER_IMPL_H
+#define INCLUDED_GRGSM_UPLINK_DOWNLINK_SPLITTER_IMPL_H
 
-#include <grgsm/uplink_downlink_filter.h>
+#include <grgsm/flow_control/uplink_downlink_splitter.h>
 
 namespace gr {
   namespace grgsm {
 
-    class uplink_downlink_filter_impl : public uplink_downlink_filter
+    class uplink_downlink_splitter_impl : public uplink_downlink_splitter
     {
      public:
-      uplink_downlink_filter_impl();
-      ~uplink_downlink_filter_impl();
+      uplink_downlink_splitter_impl();
+      ~uplink_downlink_splitter_impl();
 
       void process_msg(pmt::pmt_t msg);
     };
   } // namespace grgsm
 } // namespace gr
 
-#endif /* INCLUDED_GRGSM_UPLINK_DOWNLINK_FILTER_IMPL_H */
+#endif /* INCLUDED_GRGSM_UPLINK_DOWNLINK_SPLITTER_IMPL_H */
 
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index 670391e..59fcdff 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -64,4 +64,4 @@
 #GR_ADD_TEST(qa_arfcn ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_arfcn.py)
 #GR_ADD_TEST(qa_msg_to_tag ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_msg_to_tag.py)
 #GR_ADD_TEST(qa_controlled_fractional_resampler_cc ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_controlled_fractional_resampler_cc.py)
-GR_ADD_TEST(qa_uplink_downlink_filter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_uplink_downlink_filter.py)
+#GR_ADD_TEST(qa_uplink_downlink_splitter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_uplink_downlink_splitter.py)
diff --git a/python/qa_uplink_downlink_filter.py b/python/qa_uplink_downlink_splitter.py
similarity index 88%
rename from python/qa_uplink_downlink_filter.py
rename to python/qa_uplink_downlink_splitter.py
index cd310bf..1b9020f 100755
--- a/python/qa_uplink_downlink_filter.py
+++ b/python/qa_uplink_downlink_splitter.py
@@ -25,7 +25,7 @@
 from gnuradio import blocks
 import grgsm_swig as grgsm
 
-class qa_uplink_downlink_filter (gr_unittest.TestCase):
+class qa_uplink_downlink_splitter (gr_unittest.TestCase):
 
     def setUp (self):
         self.tb = gr.top_block ()
@@ -40,4 +40,4 @@
 
 
 if __name__ == '__main__':
-    gr_unittest.run(qa_uplink_downlink_filter, "qa_uplink_downlink_filter.xml")
+    gr_unittest.run(qa_uplink_downlink_splitter, "qa_uplink_downlink_splitter.xml")
diff --git a/swig/grgsm_swig.i b/swig/grgsm_swig.i
index ff6ec5c..ca987b8 100644
--- a/swig/grgsm_swig.i
+++ b/swig/grgsm_swig.i
@@ -22,6 +22,7 @@
 #include "grgsm/flow_control/burst_sdcch_subslot_filter.h"
 #include "grgsm/flow_control/burst_fnr_filter.h"
 #include "grgsm/flow_control/dummy_burst_filter.h"
+#include "grgsm/flow_control/uplink_downlink_splitter.h"
 #include "grgsm/misc_utils/bursts_printer.h"
 #include "grgsm/misc_utils/controlled_rotator_cc.h"
 #include "grgsm/misc_utils/extract_system_info.h"
@@ -38,7 +39,6 @@
 #include "grgsm/misc_utils/message_file_source.h"
 #include "grgsm/misc_utils/msg_to_tag.h"
 #include "grgsm/misc_utils/controlled_fractional_resampler_cc.h"
-#include "grgsm/uplink_downlink_filter.h"
 %}
 
 %include "grgsm/receiver/receiver.h"
@@ -73,6 +73,9 @@
 GR_SWIG_BLOCK_MAGIC2(gsm, burst_fnr_filter);
 %include "grgsm/flow_control/dummy_burst_filter.h"
 GR_SWIG_BLOCK_MAGIC2(gsm, dummy_burst_filter);
+%include "grgsm/flow_control/uplink_downlink_splitter.h"
+GR_SWIG_BLOCK_MAGIC2(grgsm, uplink_downlink_splitter);
+
 
 %include "grgsm/misc_utils/bursts_printer.h"
 GR_SWIG_BLOCK_MAGIC2(gsm, bursts_printer);
@@ -108,5 +111,3 @@
 GR_SWIG_BLOCK_MAGIC2(gsm, message_source);
 %include "grgsm/qa_utils/message_sink.h"
 GR_SWIG_BLOCK_MAGIC2(gsm, message_sink);
-%include "grgsm/uplink_downlink_filter.h"
-GR_SWIG_BLOCK_MAGIC2(grgsm, uplink_downlink_filter);
