diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt
index e8957d6..db2a803 100644
--- a/apps/CMakeLists.txt
+++ b/apps/CMakeLists.txt
@@ -21,11 +21,11 @@
 
 GR_PYTHON_INSTALL(
     PROGRAMS
-    grgsm_airprobe.py
-    grgsm_capture.py
-    grgsm_decode.py
-    grgsm_scanner.py
-    gsm_channelize.py
+    grgsm_livemon
+    grgsm_scanner
+    grgsm_decode
+    helpers/grgsm_capture.py
+    helpers/grgsm_channelize.py
     DESTINATION bin
 )
 
@@ -40,10 +40,10 @@
     )
 endmacro(CREATE_SYMLINK)
 
-CREATE_SYMLINK(grgsm_decode.py airprobe_decode.py)
-CREATE_SYMLINK(grgsm_capture.py airprobe_rtlsdr_capture.py)
-CREATE_SYMLINK(grgsm_airprobe.py airprobe_rtlsdr.py)
-CREATE_SYMLINK(grgsm_scanner.py airprobe_rtlsdr_scanner.py)
+CREATE_SYMLINK(grgsm_livemon airprobe_rtlsdr.py)
+CREATE_SYMLINK(helpers/grgsm_capture.py airprobe_rtlsdr_capture.py)
+CREATE_SYMLINK(grgsm_decode airprobe_decode.py)
+CREATE_SYMLINK(grgsm_scanner airprobe_rtlsdr_scanner.py)
 
 add_custom_target(multi_rtl_grc_xml_blocks ALL DEPENDS ${symlinks})
 
diff --git a/apps/grgsm_decode.py b/apps/grgsm_decode
similarity index 100%
rename from apps/grgsm_decode.py
rename to apps/grgsm_decode
diff --git a/apps/grgsm_airprobe.py b/apps/grgsm_livemon
similarity index 96%
rename from apps/grgsm_airprobe.py
rename to apps/grgsm_livemon
index 8c2245f..9c5e8a9 100755
--- a/apps/grgsm_airprobe.py
+++ b/apps/grgsm_livemon
@@ -1,7 +1,7 @@
 #!/usr/bin/env python2
 ##################################################
 # GNU Radio Python Flow Graph
-# Title: Gr-gsm Airprobe
+# Title: Gr-gsm Livemon
 # Generated: Wed Sep  2 21:46:35 2015
 ##################################################
 
@@ -33,12 +33,12 @@
 import time
 
 
-class grgsm_airprobe(gr.top_block, Qt.QWidget):
+class grgsm_livemon(gr.top_block, Qt.QWidget):
 
     def __init__(self, fc=939.4e6, gain=30, ppm=0, samp_rate=2000000.052982, shiftoff=400e3):
-        gr.top_block.__init__(self, "Gr-gsm Airprobe")
+        gr.top_block.__init__(self, "Gr-gsm Livemon")
         Qt.QWidget.__init__(self)
-        self.setWindowTitle("Gr-gsm Airprobe")
+        self.setWindowTitle("Gr-gsm Livemon")
         try:
              self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc'))
         except:
@@ -55,7 +55,7 @@
         self.top_grid_layout = Qt.QGridLayout()
         self.top_layout.addLayout(self.top_grid_layout)
 
-        self.settings = Qt.QSettings("GNU Radio", "grgsm_airprobe")
+        self.settings = Qt.QSettings("GNU Radio", "grgsm_livemon")
         self.restoreGeometry(self.settings.value("geometry").toByteArray())
 
         ##################################################
@@ -180,7 +180,7 @@
         self.connect((self.rtlsdr_source_0, 0), (self.blocks_rotator_cc_0, 0))    
 
     def closeEvent(self, event):
-        self.settings = Qt.QSettings("GNU Radio", "grgsm_airprobe")
+        self.settings = Qt.QSettings("GNU Radio", "grgsm_livemon")
         self.settings.setValue("geometry", self.saveGeometry())
         event.accept()
 
@@ -266,7 +266,7 @@
 #        Qt.QApplication.setGraphicsSystem(gr.prefs().get_string('qtgui','style','raster'))
     Qt.QApplication.setGraphicsSystem(gr.prefs().get_string('qtgui','style','raster'))
     qapp = Qt.QApplication(sys.argv)
-    tb = grgsm_airprobe(fc=options.fc, gain=options.gain, ppm=options.ppm, samp_rate=options.samp_rate, shiftoff=options.shiftoff)
+    tb = grgsm_livemon(fc=options.fc, gain=options.gain, ppm=options.ppm, samp_rate=options.samp_rate, shiftoff=options.shiftoff)
     tb.start()
     tb.show()
 
diff --git a/apps/grgsm_airprobe.grc b/apps/grgsm_livemon.grc
similarity index 98%
rename from apps/grgsm_airprobe.grc
rename to apps/grgsm_livemon.grc
index a603103..fc740fa 100644
--- a/apps/grgsm_airprobe.grc
+++ b/apps/grgsm_livemon.grc
@@ -1,16 +1,12 @@
 <?xml version='1.0' encoding='utf-8'?>
-<?grc format='1' created='3.7.8rc1'?>
+<?grc format='1' created='3.7.10'?>
 <flow_graph>
   <timestamp>Sat Dec 13 10:49:59 2014</timestamp>
   <block>
     <key>options</key>
     <param>
       <key>author</key>
-      <value></value>
-    </param>
-    <param>
-      <key>alias</key>
-      <value></value>
+      <value>Piotr Krysik</value>
     </param>
     <param>
       <key>window_size</key>
@@ -26,7 +22,7 @@
     </param>
     <param>
       <key>description</key>
-      <value></value>
+      <value>Interactive monitor of a single C0 channel with analysis performed by Wireshark (command to run wireshark: sudo wireshark -k -f udp -Y gsmtap -i lo)</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -45,18 +41,30 @@
       <value>qt_gui</value>
     </param>
     <param>
+      <key>hier_block_src_path</key>
+      <value>.:</value>
+    </param>
+    <param>
       <key>id</key>
-      <value>grgsm_airprobe</value>
+      <value>grgsm_livemon</value>
     </param>
     <param>
       <key>max_nouts</key>
       <value>0</value>
     </param>
     <param>
+      <key>qt_qss_theme</key>
+      <value></value>
+    </param>
+    <param>
       <key>realtime_scheduling</key>
       <value></value>
     </param>
     <param>
+      <key>run_command</key>
+      <value>{python} -u {filename}</value>
+    </param>
+    <param>
       <key>run_options</key>
       <value>prompt</value>
     </param>
@@ -70,7 +78,7 @@
     </param>
     <param>
       <key>title</key>
-      <value></value>
+      <value>Gr-gsm Livemon</value>
     </param>
   </block>
   <block>
@@ -814,6 +822,14 @@
       <value>gsm_message_printer_1</value>
     </param>
     <param>
+      <key>prepend_frame_count</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>prepend_fnr</key>
+      <value>False</value>
+    </param>
+    <param>
       <key>prepend_string</key>
       <value>""</value>
     </param>
diff --git a/apps/grgsm_scanner.py b/apps/grgsm_scanner
similarity index 100%
rename from apps/grgsm_scanner.py
rename to apps/grgsm_scanner
diff --git a/apps/grgsm_capture.py b/apps/helpers/grgsm_capture.py
similarity index 100%
rename from apps/grgsm_capture.py
rename to apps/helpers/grgsm_capture.py
diff --git a/apps/gsm_channelize.py b/apps/helpers/grgsm_channelize.py
similarity index 100%
rename from apps/gsm_channelize.py
rename to apps/helpers/grgsm_channelize.py
