diff --git a/include/grgsm/demapping/CMakeLists.txt b/include/grgsm/demapping/CMakeLists.txt
index 257f66e..0165d24 100644
--- a/include/grgsm/demapping/CMakeLists.txt
+++ b/include/grgsm/demapping/CMakeLists.txt
@@ -22,5 +22,7 @@
 ########################################################################
 install(FILES
     universal_ctrl_chans_demapper.h 
-    tch_f_chans_demapper.h DESTINATION include/grgsm/demapping
+    tch_f_chans_demapper.h
+    tch_h_chans_demapper.h
+    DESTINATION include/grgsm/demapping
 )
diff --git a/include/grgsm/demapping/tch_f_chans_demapper.h b/include/grgsm/demapping/tch_f_chans_demapper.h
index 32bed30..c04c749 100644
--- a/include/grgsm/demapping/tch_f_chans_demapper.h
+++ b/include/grgsm/demapping/tch_f_chans_demapper.h
@@ -48,7 +48,7 @@
        * class. gsm::tch_f_chans_demapper::make is the public interface for
        * creating new instances.
        */
-      static sptr make(unsigned int timeslot_nr, int tch_type, int tch_h_channel);
+      static sptr make(unsigned int timeslot_nr);
     };
 
   } // namespace gsm
diff --git a/include/grgsm/demapping/tch_h_chans_demapper.h b/include/grgsm/demapping/tch_h_chans_demapper.h
new file mode 100644
index 0000000..15a7f2c
--- /dev/null
+++ b/include/grgsm/demapping/tch_h_chans_demapper.h
@@ -0,0 +1,59 @@
+/* -*- c++ -*- */
+/*
+ * @file
+ * @author (C) 2018 by Andrew Artyushok <loony.developer@gmail.com>
+ * @author (C) 2018 by Vasil Velichkov <vvvelichkov@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_TCH_H_CHANS_DEMAPPER_H
+#define INCLUDED_GSM_TCH_H_CHANS_DEMAPPER_H
+
+#include <grgsm/api.h>
+#include <gnuradio/block.h>
+
+namespace gr {
+  namespace gsm {
+
+    /*!
+     * \brief <+description of block+>
+     * \ingroup gsm
+     *
+     */
+    class GRGSM_API tch_h_chans_demapper : virtual public gr::block
+    {
+     public:
+      typedef boost::shared_ptr<tch_h_chans_demapper> sptr;
+
+      /*!
+       * \brief Return a shared_ptr to a new instance of gsm::tch_h_chans_demapper.
+       *
+       * To avoid accidental use of raw pointers, gsm::tch_h_chans_demapper's
+       * constructor is in a private implementation
+       * class. gsm::tch_h_chans_demapper::make is the public interface for
+       * creating new instances.
+       */
+      static sptr make(unsigned int timeslot_nr, unsigned int tch_h_channel);
+    };
+
+  } // namespace gsm
+} // namespace gr
+
+#endif /* INCLUDED_GSM_TCH_H_CHANS_DEMAPPER_H */
+
