diff --git a/grc/CMakeLists.txt b/grc/CMakeLists.txt
index caf2660..4665e89 100644
--- a/grc/CMakeLists.txt
+++ b/grc/CMakeLists.txt
@@ -21,6 +21,7 @@
 add_subdirectory(decryption)
 add_subdirectory(demapping)
 add_subdirectory(receiver)
+add_subdirectory(flow_control)
 add_subdirectory(misc_utils)
 install(FILES
     gsm_block_tree.xml
diff --git a/grc/flow_control/CMakeLists.txt b/grc/flow_control/CMakeLists.txt
new file mode 100644
index 0000000..c11943f
--- /dev/null
+++ b/grc/flow_control/CMakeLists.txt
@@ -0,0 +1,22 @@
+# Copyright 2011,2012 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+
+install(FILES
+    gsm_burst_timeslot_splitter.xml DESTINATION share/gnuradio/grc/blocks
+)
diff --git a/grc/flow_control/gsm_burst_timeslot_splitter.xml b/grc/flow_control/gsm_burst_timeslot_splitter.xml
new file mode 100644
index 0000000..91db4db
--- /dev/null
+++ b/grc/flow_control/gsm_burst_timeslot_splitter.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<block>
+  <name>Burst timeslot splitter</name>
+  <key>gsm_burst_timeslot_splitter</key>
+  <import>import grgsm</import>
+  <make>grgsm.burst_timeslot_splitter()</make>
+
+  <sink>
+    <name>in</name>
+    <type>message</type>
+  </sink>
+
+  <source>
+    <name>out</name>
+    <type>message</type>
+    <nports>8</nports>
+    <optional>1</optional>
+  </source>
+
+  <doc>
+Burst timeslot splitter distributes bursts to eight different output ports depending on the timeslots of the bursts. 
+This means timeslot 0 bursts are sent to port out0, timeslot 1 bursts on port out1, and so on.
+  </doc>
+</block>
diff --git a/grc/gsm_block_tree.xml b/grc/gsm_block_tree.xml
index 2503710..1679ad1 100644
--- a/grc/gsm_block_tree.xml
+++ b/grc/gsm_block_tree.xml
@@ -38,6 +38,10 @@
       <block>gsm_tch_f_decoder</block>
     </cat>
     <cat>
+      <name>Flow control</name>
+      <block>gsm_burst_timeslot_splitter</block>
+    </cat>
+    <cat>
       <name>Utilities</name>
       <block>gsm_bursts_printer</block>
       <block>gsm_burst_sink</block>
diff --git a/include/grgsm/CMakeLists.txt b/include/grgsm/CMakeLists.txt
index fd44c54..385572a 100644
--- a/include/grgsm/CMakeLists.txt
+++ b/include/grgsm/CMakeLists.txt
@@ -32,4 +32,4 @@
 add_subdirectory(demapping)
 add_subdirectory(receiver)
 add_subdirectory(misc_utils)
-
+add_subdirectory(flow_control)
diff --git a/include/grgsm/flow_control/CMakeLists.txt b/include/grgsm/flow_control/CMakeLists.txt
new file mode 100644
index 0000000..e701592
--- /dev/null
+++ b/include/grgsm/flow_control/CMakeLists.txt
@@ -0,0 +1,25 @@
+# Copyright 2011,2012 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+
+########################################################################
+# Install public header files
+########################################################################
+install(FILES
+    burst_timeslot_splitter.h DESTINATION include/grgsm/flow_control
+)
diff --git a/include/grgsm/flow_control/burst_timeslot_splitter.h b/include/grgsm/flow_control/burst_timeslot_splitter.h
new file mode 100644
index 0000000..ee6298e
--- /dev/null
+++ b/include/grgsm/flow_control/burst_timeslot_splitter.h
@@ -0,0 +1,55 @@
+/* -*- c++ -*- */
+/* @file
+ * @author Roman Khassraf <rkhassraf@gmail.com>
+ * @section LICENSE
+ *
+ * Gr-gsm is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * Gr-gsm is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gr-gsm; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef INCLUDED_GSM_BURST_TIMESLOT_SPLITTER_H
+#define INCLUDED_GSM_BURST_TIMESLOT_SPLITTER_H
+
+#include <grgsm/api.h>
+#include <gnuradio/block.h>
+
+namespace gr {
+  namespace gsm {
+
+    /*!
+     * \brief <+description of block+>
+     * \ingroup gsm
+     *
+     */
+    class GSM_API burst_timeslot_splitter : virtual public gr::block
+    {
+     public:
+      typedef boost::shared_ptr<burst_timeslot_splitter> sptr;
+
+      /*!
+       * \brief Return a shared_ptr to a new instance of grgsm::burst_timeslot_splitter.
+       *
+       * To avoid accidental use of raw pointers, grgsm::burst_timeslot_splitter's
+       * constructor is in a private implementation
+       * class. grgsm::burst_timeslot_splitter::make is the public interface for
+       * creating new instances.
+       */
+      static sptr make();
+    };
+  } // namespace gsm
+} // namespace gr
+
+#endif /* INCLUDED_GSM_BURST_TIMESLOT_SPLITTER_H */
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 61f0858..4a61f0b 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -46,6 +46,7 @@
     decoding/GSM660Tables.cpp
     decoding/GSM503Tables.cpp
     decoding/ViterbiR204.cpp
+    flow_control/burst_timeslot_splitter_impl.cc
     misc_utils/controlled_rotator_cc_impl.cc
     misc_utils/controlled_const_source_f_impl.cc
     misc_utils/message_printer_impl.cc
diff --git a/lib/flow_control/burst_timeslot_splitter_impl.cc b/lib/flow_control/burst_timeslot_splitter_impl.cc
new file mode 100644
index 0000000..99964b7
--- /dev/null
+++ b/lib/flow_control/burst_timeslot_splitter_impl.cc
@@ -0,0 +1,114 @@
+/* -*- c++ -*- */
+/* @file
+ * @author Roman Khassraf <rkhassraf@gmail.com>
+ * @section LICENSE
+ *
+ * Gr-gsm is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * Gr-gsm is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gr-gsm; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <gnuradio/io_signature.h>
+#include "burst_timeslot_splitter_impl.h"
+#include <stdio.h>
+#include <grgsm/endian.h>
+#include <grgsm/gsmtap.h>
+
+
+namespace gr {
+  namespace gsm {
+
+    burst_timeslot_splitter::sptr
+    burst_timeslot_splitter::make()
+    {
+      return gnuradio::get_initial_sptr
+        (new burst_timeslot_splitter_impl());
+    }
+
+    /*
+     * The private constructor
+     */
+    burst_timeslot_splitter_impl::burst_timeslot_splitter_impl()
+      : gr::block("burst_timeslot_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("out0"));
+        message_port_register_out(pmt::mp("out1"));
+        message_port_register_out(pmt::mp("out2"));
+        message_port_register_out(pmt::mp("out3"));
+        message_port_register_out(pmt::mp("out4"));
+        message_port_register_out(pmt::mp("out5"));
+        message_port_register_out(pmt::mp("out6"));
+        message_port_register_out(pmt::mp("out7"));
+        
+        set_msg_handler(pmt::mp("in"), boost::bind(&burst_timeslot_splitter_impl::process_burst, this, _1));
+    }
+
+    /*
+     * Our virtual destructor.
+     */
+    burst_timeslot_splitter_impl::~burst_timeslot_splitter_impl() {}
+
+    void burst_timeslot_splitter_impl::process_burst(pmt::pmt_t msg)
+    {
+        pmt::pmt_t header_plus_burst = pmt::cdr(msg);
+        gsmtap_hdr * header = (gsmtap_hdr *)pmt::blob_data(header_plus_burst);
+        
+        unsigned int timeslot = header->timeslot;
+        
+        std::string port("out");
+
+        switch (timeslot)
+        {
+            case 0:
+                port.append("0");
+                break;
+            case 1:
+                port.append("1");
+                break;
+            case 2:
+                port.append("2");
+                break;
+            case 3:
+                port.append("3");
+                break;
+            case 4:
+                port.append("4");
+                break;
+            case 5:
+                port.append("5");
+                break;
+            case 6:
+                port.append("6");
+                break;
+            case 7:
+                port.append("7");
+                break;
+            default:
+                port.append("0");
+                break;
+        }
+        
+        message_port_pub(pmt::mp(port), msg);
+    }
+  } /* namespace gsm */
+} /* namespace gr */
diff --git a/lib/flow_control/burst_timeslot_splitter_impl.h b/lib/flow_control/burst_timeslot_splitter_impl.h
new file mode 100644
index 0000000..47a9115
--- /dev/null
+++ b/lib/flow_control/burst_timeslot_splitter_impl.h
@@ -0,0 +1,43 @@
+/* -*- c++ -*- */
+/* @file
+ * @author Roman Khassraf <rkhassraf@gmail.com>
+ * @section LICENSE
+ *
+ * Gr-gsm is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * Gr-gsm is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gr-gsm; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef INCLUDED_GSM_BURST_TIMESLOT_SPLITTER_IMPL_H
+#define INCLUDED_GSM_BURST_TIMESLOT_SPLITTER_IMPL_H
+
+#include <grgsm/flow_control/burst_timeslot_splitter.h>
+
+namespace gr {
+  namespace gsm {
+
+    class burst_timeslot_splitter_impl : public burst_timeslot_splitter
+    {
+     public:
+      burst_timeslot_splitter_impl();
+      ~burst_timeslot_splitter_impl();
+      void process_burst(pmt::pmt_t msg);
+    };
+
+  } // namespace gsm
+} // namespace gr
+
+#endif /* INCLUDED_GSM_BURST_TIMESLOT_SPLITTER_IMPL_H */
+
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index cb4b2b2..f84c458 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -47,5 +47,4 @@
 set(GR_TEST_TARGET_DEPS gr-gsm)
 set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/swig)
 GR_ADD_TEST(qa_decryption ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_decryption.py)
-#GR_ADD_TEST(qa_receiver ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_receiver.py)
-#GR_ADD_TEST(qa_receiver_hier ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_receiver_hier.py)
+GR_ADD_TEST(qa_burst_timeslot_splitter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_burst_timeslot_splitter.py)
diff --git a/python/qa_burst_timeslot_splitter.py b/python/qa_burst_timeslot_splitter.py
new file mode 100755
index 0000000..8be3e52
--- /dev/null
+++ b/python/qa_burst_timeslot_splitter.py
@@ -0,0 +1,161 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# @file
+# @author Roman Khassraf <rkhassraf@gmail.com>
+# @section LICENSE
+# 
+# Gr-gsm is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+# 
+# Gr-gsm is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with gr-gsm; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+# 
+# 
+
+from gnuradio import gr, gr_unittest, blocks
+import grgsm
+import pmt
+
+class qa_burst_timeslot_splitter (gr_unittest.TestCase):
+
+    def setUp (self):
+        self.tb = gr.top_block ()
+
+    def tearDown (self):
+        self.tb = None
+
+    def test_001 (self):
+        """
+            24 random framenumbers, timeslots and bursts as input
+        """
+        framenumbers_input = [1259192, 1076346, 1076242, 235879, 1259218, 2194302, 2714322, 1588, 1259244, 1563637, 1435624, 1928543, 503726, 1571144, 2658397, 1807445, 869789, 624070, 2005511, 1306953, 2284894, 1600339, 551375, 1259270]
+        timeslots_input = [6, 3, 4, 3, 5, 3, 2, 7, 1, 6, 0, 7, 2, 3, 2, 0, 7, 1, 0, 6, 0, 6, 5, 7]
+        bursts_input = [
+            "0001100001000111100111101111100101000100101011000010011110011101001111101100010100111111100000110100011111101011101100100111110011000100010001010000",
+            "0001000101000000001001111110000110010110110111110111101000001101001111101100010100111111001110001001110101110001010001000111011010010001011011000000",
+            "0001001101101101000111001000101011001101001110110001001100111101001111101100010100111111111001001010011010011111010010010101011001001011011100110000",
+            "0000010010100000001001101010100001011100010001101100111111101101001111101100010100111111101101001110100010101110010110101111100010010000110010110000",
+            "0000010101010110010011110101010101101100000000001000100100101010000111011101001000011101011101110000101011001111000100001000000000001110010001111000",
+            "0001000000000010111010100000010101000010001010111010000000011010000111011101001000011101000000100010111110101000000001000000000010111010100000000000",
+            "0001010101111111111010000001010101011111111111101000000001001010000111011101001000011101010111111111111010101000000001010101011011101010000001000000",
+            "0000000000111110101010100001000000100010101110101010000101001010000111011101001000011101001010001111101010001000010000000000101110101010100000010000",
+            "0000010000000010000001001000011001010010000011000101000000001010000111011101001000011101010100100000000001001000001000000100100011000101001000111000",
+            "0001010100110111100000110111100110010100011100011000110110001010000111011101001000011101011111111001111001101010010100000000011111001101000111110000",
+            "0001100110000001011110001000001100101001010100111111000100111010000111011101001000011101000011010010001010111101000100110011111010100010010101000000",
+            "0000010101100101010110000011010000000000000010111001110110101010000111011101001000011101000001000100100001111001100011000101010001110001010100111000",
+            "0001000100000011001010111001111100011010000000000000001001001010000111011101001000011101010110000101111010011001110110001001011010101000011110110000",
+            "0001100001000111111111100001011000000011010110111010110000111010000111011101001000011101100010111100100101110001101000110100110000001010101110011000",
+            "0000000100111011000000000010100100001100101010000000010010101010000111011101001000011101000110110001110110000100110100110110011001100100000101100000",
+            "0000100101111010011110111010100111010100011011011101100111001010000111011101001000011101010000111010000110100000001000010011101011001001110100011000",
+            "0001111101101110110000010100100111000001001000100000001111100011100010111000101110001010111010010100011001100111001111010011111000100101111101010000",
+            "0000110101000011011010110000110011010000000001001010110010001010000111011101001000011101010000011000111001101110000000110010100001101110101000100000",
+            "0000001000010001011111111111101010100000010101011101101010101010000111011101001000011101100010010101010101011110101010101000010001011101111010101000",
+            "0000101110101111011001011001000011110010100010011100110010001010000111011101001000011101100000001110000100010100110111001001100010101101100010101000",
+            "0001100010000001000111011100101101101010100001111101001000101010000111011101001000011101111010000011010110010111011111010010001000001101100011111000",
+            "0001011101101101011100001111001100010001000011011001101110011010000111011101001000011101010010111011100111000001011100100001111010100101111000100000",
+            "0000001000100011000000000000110100000000010000001010100100001010000111011101001000011101000010010000000000001001000001011000000001010000000100010000",
+            "0000100000110001000000000100000110001011100001001000000000001010000111011101001000011101001010010001010000000111010000000011000001000000000101010000"
+        ]
+
+        bursts_expected_0 = [
+            "0001100110000001011110001000001100101001010100111111000100111010000111011101001000011101000011010010001010111101000100110011111010100010010101000000",
+            "0000100101111010011110111010100111010100011011011101100111001010000111011101001000011101010000111010000110100000001000010011101011001001110100011000",
+            "0000001000010001011111111111101010100000010101011101101010101010000111011101001000011101100010010101010101011110101010101000010001011101111010101000",
+            "0001100010000001000111011100101101101010100001111101001000101010000111011101001000011101111010000011010110010111011111010010001000001101100011111000"
+        ]
+        
+        bursts_expected_1 = [
+            "0000010000000010000001001000011001010010000011000101000000001010000111011101001000011101010100100000000001001000001000000100100011000101001000111000",
+            "0000110101000011011010110000110011010000000001001010110010001010000111011101001000011101010000011000111001101110000000110010100001101110101000100000"
+        ]
+        
+        bursts_expected_2 = [
+            "0001010101111111111010000001010101011111111111101000000001001010000111011101001000011101010111111111111010101000000001010101011011101010000001000000",
+            "0001000100000011001010111001111100011010000000000000001001001010000111011101001000011101010110000101111010011001110110001001011010101000011110110000",
+            "0000000100111011000000000010100100001100101010000000010010101010000111011101001000011101000110110001110110000100110100110110011001100100000101100000"
+        ]
+        
+        bursts_expected_3 = [
+            "0001000101000000001001111110000110010110110111110111101000001101001111101100010100111111001110001001110101110001010001000111011010010001011011000000",
+            "0000010010100000001001101010100001011100010001101100111111101101001111101100010100111111101101001110100010101110010110101111100010010000110010110000",
+            "0001000000000010111010100000010101000010001010111010000000011010000111011101001000011101000000100010111110101000000001000000000010111010100000000000",
+            "0001100001000111111111100001011000000011010110111010110000111010000111011101001000011101100010111100100101110001101000110100110000001010101110011000"
+        ]
+        
+        bursts_expected_4 = [
+            "0001001101101101000111001000101011001101001110110001001100111101001111101100010100111111111001001010011010011111010010010101011001001011011100110000"
+        ]
+        
+        bursts_expected_5 = [
+            "0000010101010110010011110101010101101100000000001000100100101010000111011101001000011101011101110000101011001111000100001000000000001110010001111000",
+            "0000001000100011000000000000110100000000010000001010100100001010000111011101001000011101000010010000000000001001000001011000000001010000000100010000"
+        ]
+        
+        bursts_expected_6 = [
+            "0001100001000111100111101111100101000100101011000010011110011101001111101100010100111111100000110100011111101011101100100111110011000100010001010000",
+            "0001010100110111100000110111100110010100011100011000110110001010000111011101001000011101011111111001111001101010010100000000011111001101000111110000",
+            "0000101110101111011001011001000011110010100010011100110010001010000111011101001000011101100000001110000100010100110111001001100010101101100010101000",
+            "0001011101101101011100001111001100010001000011011001101110011010000111011101001000011101010010111011100111000001011100100001111010100101111000100000"
+        ]
+        
+        bursts_expected_7 = [
+            "0000000000111110101010100001000000100010101110101010000101001010000111011101001000011101001010001111101010001000010000000000101110101010100000010000",
+            "0000010101100101010110000011010000000000000010111001110110101010000111011101001000011101000001000100100001111001100011000101010001110001010100111000",
+            "0001111101101110110000010100100111000001001000100000001111100011100010111000101110001010111010010100011001100111001111010011111000100101111101010000",
+            "0000100000110001000000000100000110001011100001001000000000001010000111011101001000011101001010010001010000000111010000000011000001000000000101010000"
+        ]
+
+
+        src = grgsm.burst_source_qa(framenumbers_input, timeslots_input, bursts_input)
+        splitter = grgsm.burst_timeslot_splitter()
+        sink_0 = grgsm.burst_sink_qa()
+        sink_1 = grgsm.burst_sink_qa()
+        sink_2 = grgsm.burst_sink_qa()
+        sink_3 = grgsm.burst_sink_qa()
+        sink_4 = grgsm.burst_sink_qa()
+        sink_5 = grgsm.burst_sink_qa()
+        sink_6 = grgsm.burst_sink_qa()
+        sink_7 = grgsm.burst_sink_qa()
+
+        self.tb.msg_connect(src, "out", splitter, "in")
+        self.tb.msg_connect(splitter, "out0", sink_0, "in")
+        self.tb.msg_connect(splitter, "out1", sink_1, "in")
+        self.tb.msg_connect(splitter, "out2", sink_2, "in")
+        self.tb.msg_connect(splitter, "out3", sink_3, "in")
+        self.tb.msg_connect(splitter, "out4", sink_4, "in")
+        self.tb.msg_connect(splitter, "out5", sink_5, "in")
+        self.tb.msg_connect(splitter, "out6", sink_6, "in")
+        self.tb.msg_connect(splitter, "out7", sink_7, "in")
+
+        self.tb.run ()
+
+        bursts_result_0 = list(sink_0.get_burst_data())
+        bursts_result_1 = list(sink_1.get_burst_data())
+        bursts_result_2 = list(sink_2.get_burst_data())
+        bursts_result_3 = list(sink_3.get_burst_data())
+        bursts_result_4 = list(sink_4.get_burst_data())
+        bursts_result_5 = list(sink_5.get_burst_data())
+        bursts_result_6 = list(sink_6.get_burst_data())
+        bursts_result_7 = list(sink_7.get_burst_data())
+        
+        self.assertEqual(bursts_expected_0, bursts_result_0)
+        self.assertEqual(bursts_expected_1, bursts_result_1)
+        self.assertEqual(bursts_expected_2, bursts_result_2)
+        self.assertEqual(bursts_expected_3, bursts_result_3)
+        self.assertEqual(bursts_expected_4, bursts_result_4)
+        self.assertEqual(bursts_expected_5, bursts_result_5)
+        self.assertEqual(bursts_expected_6, bursts_result_6)
+        self.assertEqual(bursts_expected_7, bursts_result_7)
+
+
+if __name__ == '__main__':
+    gr_unittest.run(qa_burst_timeslot_splitter, "qa_burst_timeslot_splitter.xml")
diff --git a/swig/grgsm_swig.i b/swig/grgsm_swig.i
index 5dc1bcd..600281a 100644
--- a/swig/grgsm_swig.i
+++ b/swig/grgsm_swig.i
@@ -16,6 +16,7 @@
 #include "grgsm/decryption/decryption.h"
 #include "grgsm/demapping/universal_ctrl_chans_demapper.h"
 #include "grgsm/demapping/tch_f_chans_demapper.h"
+#include "grgsm/flow_control/burst_timeslot_splitter.h"
 #include "grgsm/misc_utils/bursts_printer.h"
 #include "grgsm/misc_utils/controlled_const_source_f.h"
 #include "grgsm/misc_utils/controlled_rotator_cc.h"
@@ -29,7 +30,6 @@
 #include "grgsm/misc_utils/burst_source_qa.h"
 %}
 
-
 %include "grgsm/receiver/receiver.h"
 GR_SWIG_BLOCK_MAGIC2(gsm, receiver);
 %include "grgsm/receiver/clock_offset_control.h"
@@ -50,6 +50,9 @@
 %include "grgsm/demapping/tch_f_chans_demapper.h"
 GR_SWIG_BLOCK_MAGIC2(gsm, tch_f_chans_demapper);
 
+%include "grgsm/flow_control/burst_timeslot_splitter.h"
+GR_SWIG_BLOCK_MAGIC2(gsm, burst_timeslot_splitter);
+
 %include "grgsm/misc_utils/bursts_printer.h"
 GR_SWIG_BLOCK_MAGIC2(gsm, bursts_printer);
 %include "grgsm/misc_utils/burst_sink.h"
