diff --git a/lib/misc_utils/message_printer_impl.cc b/lib/misc_utils/message_printer_impl.cc
index 48cd95b..d02e2fe 100644
--- a/lib/misc_utils/message_printer_impl.cc
+++ b/lib/misc_utils/message_printer_impl.cc
@@ -40,6 +40,7 @@
         
         gsmtap_hdr * header = (gsmtap_hdr *)message_plus_header;
         
+        std::cout << d_prepend_string;
         for(int ii=sizeof(gsmtap_hdr); ii<message_plus_header_len; ii++)
         {
             printf(" %02x", message_plus_header[ii]);
@@ -48,20 +49,21 @@
     }
 
     message_printer::sptr
-    message_printer::make()
+    message_printer::make(pmt::pmt_t prepend_string)
     {
       return gnuradio::get_initial_sptr
-        (new message_printer_impl());
+        (new message_printer_impl(prepend_string));
     }
 
     /*
      * The private constructor
      */
-    message_printer_impl::message_printer_impl()
+    message_printer_impl::message_printer_impl(pmt::pmt_t prepend_string)
       : gr::block("message_printer",
               gr::io_signature::make(0, 0, 0),
               gr::io_signature::make(0, 0, 0))
     {
+        d_prepend_string = prepend_string;
         message_port_register_in(pmt::mp("msgs"));
         set_msg_handler(pmt::mp("msgs"), boost::bind(&message_printer_impl::message_print, this, _1));
 
diff --git a/lib/misc_utils/message_printer_impl.h b/lib/misc_utils/message_printer_impl.h
index e2c8236..e82485e 100644
--- a/lib/misc_utils/message_printer_impl.h
+++ b/lib/misc_utils/message_printer_impl.h
@@ -32,8 +32,9 @@
     {
      private:
       void message_print(pmt::pmt_t msg);
+      pmt::pmt_t d_prepend_string;
      public:
-      message_printer_impl();
+      message_printer_impl(pmt::pmt_t prepend_string);
       ~message_printer_impl();
     };
 
