diff --git a/include/gsm/demapping/CMakeLists.txt b/include/gsm/demapping/CMakeLists.txt
index bbbbc21..11fa6e5 100644
--- a/include/gsm/demapping/CMakeLists.txt
+++ b/include/gsm/demapping/CMakeLists.txt
@@ -21,5 +21,6 @@
 # Install public header files
 ########################################################################
 install(FILES
+    universal_ctrl_chans_demapper.h
     get_bcch_or_ccch_bursts.h DESTINATION include/gsm/demapping
 )
diff --git a/include/gsm/demapping/universal_ctrl_chans_demapper.h b/include/gsm/demapping/universal_ctrl_chans_demapper.h
new file mode 100644
index 0000000..8e8abb5
--- /dev/null
+++ b/include/gsm/demapping/universal_ctrl_chans_demapper.h
@@ -0,0 +1,56 @@
+/* -*- c++ -*- */
+/* 
+ * Copyright 2014 <+YOU OR YOUR COMPANY+>.
+ * 
+ * This 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.
+ * 
+ * This software 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 this software; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+
+#ifndef INCLUDED_GSM_UNIVERSAL_CTRL_CHANS_DEMAPPER_H
+#define INCLUDED_GSM_UNIVERSAL_CTRL_CHANS_DEMAPPER_H
+
+#include <gsm/api.h>
+#include <gnuradio/block.h>
+
+namespace gr {
+  namespace gsm {
+
+    /*!
+     * \brief <+description of block+>
+     * \ingroup gsm
+     *
+     */
+    class GSM_API universal_ctrl_chans_demapper : virtual public gr::block
+    {
+     public:
+      typedef boost::shared_ptr<universal_ctrl_chans_demapper> sptr;
+
+      /*!
+       * \brief Return a shared_ptr to a new instance of gsm::universal_ctrl_chans_demapper.
+       *
+       * To avoid accidental use of raw pointers, gsm::universal_ctrl_chans_demapper's
+       * constructor is in a private implementation
+       * class. gsm::universal_ctrl_chans_demapper::make is the public interface for
+       * creating new instances.
+       */
+      static sptr make(const std::vector<int> &starts_fn_mod51, const std::vector<int> &channel_types);
+    };
+
+  } // namespace gsm
+} // namespace gr
+
+#endif /* INCLUDED_GSM_UNIVERSAL_CTRL_CHANS_DEMAPPER_H */
+
