diff --git a/include/grgsm/misc_utils/CMakeLists.txt b/include/grgsm/misc_utils/CMakeLists.txt
index 000b7ef..18c2860 100644
--- a/include/grgsm/misc_utils/CMakeLists.txt
+++ b/include/grgsm/misc_utils/CMakeLists.txt
@@ -30,7 +30,8 @@
     extract_immediate_assignment.h
     controlled_rotator_cc.h
     controlled_const_source_f.h
-    message_printer.h 
-    tmsi_dumper.h 
-    message_source.h DESTINATION include/grgsm/misc_utils
+    message_printer.h
+    tmsi_dumper.h
+    message_source.h
+    message_sink.h DESTINATION include/grgsm/misc_utils
 )
diff --git a/include/grgsm/misc_utils/message_sink.h b/include/grgsm/misc_utils/message_sink.h
new file mode 100644
index 0000000..5cfe2f7
--- /dev/null
+++ b/include/grgsm/misc_utils/message_sink.h
@@ -0,0 +1,60 @@
+/* -*- 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_MESSAGE_SINK_H
+#define INCLUDED_GSM_MESSAGE_SINK_H
+
+#include <grgsm/api.h>
+#include <gnuradio/block.h>
+
+namespace gr {
+  namespace gsm {
+
+    /*!
+     * \brief <+description of block+>
+     * \ingroup gsm
+     *
+     */
+    class GSM_API message_sink : virtual public gr::block
+    {
+     public:
+      typedef boost::shared_ptr<message_sink> sptr;
+
+      /*!
+       * \brief Return a shared_ptr to a new instance of grgsm::message_sink.
+       *
+       * To avoid accidental use of raw pointers, grgsm::message_sink's
+       * constructor is in a private implementation
+       * class. grgsm::message_sink::make is the public interface for
+       * creating new instances.
+       */
+      static sptr make();
+      
+      virtual std::vector<std::string> get_messages() = 0;
+    };
+
+  } // namespace gsm
+} // namespace gr
+
+#endif /* INCLUDED_GSM_MESSAGE_SINK_H */
+
