diff --git a/.gitignore b/.gitignore
index 08d9c28304209a902e8afdd224cf640913be1fd5..1078134331c2fc69a82f03bcc3f7cc8ef7393355 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,9 @@
+etc/
+binaries/
 java_gui/dist/
 java_gui/build/
+java_gui/bgslibrary.exe
+python/
 qt_gui/
-vs2013/
\ No newline at end of file
+vs2013/
+fet/etc/
\ No newline at end of file
diff --git a/README.txt b/README_LINUX_USERS.txt
similarity index 100%
rename from README.txt
rename to README_LINUX_USERS.txt
diff --git a/bgslibrary_vs2010_opencv.txt b/README_VISUAL_STUDIO_USERS.txt
similarity index 79%
rename from bgslibrary_vs2010_opencv.txt
rename to README_VISUAL_STUDIO_USERS.txt
index 5fedcfa40c5d24ec032170ba4fee8e411ec8f199..ee9fe126b80f698ba647cbb2d2b8e3b787747964 100644
--- a/bgslibrary_vs2010_opencv.txt
+++ b/README_VISUAL_STUDIO_USERS.txt
@@ -1,5 +1,5 @@
 ---------------------------------------------------
-BGSLibrary with Visual Studio 2010 and Opencv 2.4.9
+BGSLibrary with Visual Studio 2010 and Opencv 2.4.x
 ---------------------------------------------------
 
 1) Clone our VS2010 example project at [vs2010] folder
@@ -8,10 +8,10 @@ https://github.com/andrewssobral/bgslibrary/tree/master/vs2010
 Or configure manually by:
 
 1) Install OpenCV
-1.a) Download OpenCV 2.4.9 from http://opencv.org/
-2.b) Install in: C:\OpenCV2.4.9
+1.a) Download OpenCV 2.4.x from http://opencv.org/
+2.b) Install in: C:\OpenCV2.4.x
 2.c) Add OpenCV binaries in your Path
-C:\OpenCV2.4.9\build\x86\vc10\bin
+C:\OpenCV2.4.x\build\x86\vc10\bin
 
 2) Download BGSLibrary
 2.a) Clone bgslibrary on GitHub at C:\bgslibrary
@@ -29,9 +29,9 @@ C:\OpenCV2.4.9\build\x86\vc10\bin
 3.j) Click on Project->Properties
 3.k) Change [Output Directory] to ..\
 3.l) Add OpenCV include in [C/C++] -> [Additional Include Directories]
-C:\OpenCV2.4.9\build\include;C:\OpenCV2.4.9\build\include\opencv;
+C:\OpenCV2.4.x\build\include;C:\OpenCV2.4.x\build\include\opencv;
 3.m) Add OpenCV libraries in [Linker]->[Input]
-C:\OpenCV2.4.9\build\x86\vc10\lib\*.lib
+C:\OpenCV2.4.x\build\x86\vc10\lib\*.lib
 3.n) Click in Build and wait
 3.o) Run C:\bgslibrary\bgslibrary.exe
 Enjoy!
diff --git a/config/.gitignore b/config/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..12f6b514a5395cc1ffc778a8228227c6a111e7e5
--- /dev/null
+++ b/config/.gitignore
@@ -0,0 +1,7 @@
+# Ignore everything in this directory
+*
+# Except these files
+!.gitignore
+!FrameProcessor.xml
+!PreProcessor.xml
+!VideoCapture.xml
diff --git a/java_gui/bgslibrary_gui.jar b/java_gui/bgslibrary_gui.jar
index 21d68b036451a8d759cc64cd9ae1a7eb32fb96df..35ef87b355fdc6233dff875da6ad1c99e1d5e5b4 100644
Binary files a/java_gui/bgslibrary_gui.jar and b/java_gui/bgslibrary_gui.jar differ
diff --git a/java_gui/config/.gitignore b/java_gui/config/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..12f6b514a5395cc1ffc778a8228227c6a111e7e5
--- /dev/null
+++ b/java_gui/config/.gitignore
@@ -0,0 +1,7 @@
+# Ignore everything in this directory
+*
+# Except these files
+!.gitignore
+!FrameProcessor.xml
+!PreProcessor.xml
+!VideoCapture.xml
diff --git a/java_gui/nbproject/private/private.properties b/java_gui/nbproject/private/private.properties
index 47427cdb6fe90f9300173fd1029988d087d8a6b4..0a39445367db3f6779a0fb2859cfb5b7c33f49c4 100644
--- a/java_gui/nbproject/private/private.properties
+++ b/java_gui/nbproject/private/private.properties
@@ -3,4 +3,4 @@ do.depend=false
 do.jar=true
 javac.debug=true
 javadoc.preview=true
-user.properties.file=C:\\Users\\asobra01\\AppData\\Roaming\\NetBeans\\8.0\\build.properties
+user.properties.file=C:\\Users\\asobra01\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties
diff --git a/java_gui/nbproject/private/private.xml b/java_gui/nbproject/private/private.xml
index cd3e03d7ecf45a3fe87e79332c52ee6475f44638..82e8cf00c77393490253f88735375cb5273240c5 100644
--- a/java_gui/nbproject/private/private.xml
+++ b/java_gui/nbproject/private/private.xml
@@ -3,6 +3,11 @@
     <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/1"/>
     <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
     <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
-        <group/>
+        <group>
+            <file>file:/C:/GitHub/bgslibrary/java_gui/src/br/com/bgslibrary/Main.java</file>
+            <file>file:/C:/GitHub/bgslibrary/java_gui/src/br/com/bgslibrary/entity/Command.java</file>
+            <file>file:/C:/GitHub/bgslibrary/java_gui/src/br/com/bgslibrary/entity/Configuration.java</file>
+            <file>file:/C:/GitHub/bgslibrary/java_gui/src/br/com/bgslibrary/gui/MainFrame.java</file>
+        </group>
     </open-files>
 </project-private>
diff --git a/java_gui/src/br/com/bgslibrary/entity/Configuration.java b/java_gui/src/br/com/bgslibrary/entity/Configuration.java
index 5c69f342816440de21e6612d16197f52febec9cb..caa07fda3c0cc2f2a7cd530036b5e803cb6b2ec4 100644
--- a/java_gui/src/br/com/bgslibrary/entity/Configuration.java
+++ b/java_gui/src/br/com/bgslibrary/entity/Configuration.java
@@ -58,4 +58,11 @@ public interface Configuration
   final String T2FMRF_UV = "T2FMRF_UV.xml";
   final String FuzzySugenoIntegral = "FuzzySugenoIntegral.xml";
   final String FuzzyChoquetIntegral = "FuzzyChoquetIntegral.xml";
+  
+  final String KDE = "KDE.xml";
+  final String IndependentMultimodalBGS = "IndependentMultimodalBGS.xml";
+  final String MultiCueBGS = "MultiCueBGS.xml";
+  final String SigmaDeltaBGS = "SigmaDeltaBGS.xml";
+  final String SuBSENSEBGS = "SuBSENSEBGS.xml";
+  final String LOBSTERBGS = "LOBSTERBGS.xml";
 }
diff --git a/java_gui/src/br/com/bgslibrary/gui/MainFrame.form b/java_gui/src/br/com/bgslibrary/gui/MainFrame.form
index 1cc7c3bed15fc833549eac4df8d2d5467ea763b5..7e207fb59814fbcd59f5e18e175c8570f9b49548 100644
--- a/java_gui/src/br/com/bgslibrary/gui/MainFrame.form
+++ b/java_gui/src/br/com/bgslibrary/gui/MainFrame.form
@@ -159,7 +159,7 @@
                           </Group>
                           <Component id="runButton" min="-2" max="-2" attributes="0"/>
                       </Group>
-                      <EmptySpace pref="245" max="32767" attributes="0"/>
+                      <EmptySpace pref="294" max="32767" attributes="0"/>
                   </Group>
               </Group>
             </DimensionLayout>
@@ -539,8 +539,8 @@
                           </Group>
                       </Group>
                       <EmptySpace max="-2" attributes="0"/>
-                      <Component id="jPanel11" max="32767" attributes="0"/>
-                      <EmptySpace min="-2" max="-2" attributes="0"/>
+                      <Component id="jPanel11" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace max="32767" attributes="0"/>
                   </Group>
               </Group>
             </DimensionLayout>
@@ -847,8 +847,8 @@
                           <EmptySpace max="-2" attributes="0"/>
                           <Component id="jPanel12" min="-2" max="-2" attributes="0"/>
                           <EmptySpace max="-2" attributes="0"/>
-                          <Component id="jPanel13" max="32767" attributes="0"/>
-                          <EmptySpace max="-2" attributes="0"/>
+                          <Component id="jPanel13" min="-2" max="-2" attributes="0"/>
+                          <EmptySpace max="32767" attributes="0"/>
                       </Group>
                   </Group>
                 </DimensionLayout>
@@ -998,117 +998,163 @@
                   <Layout>
                     <DimensionLayout dim="0">
                       <Group type="103" groupAlignment="0" attributes="0">
-                          <Group type="102" attributes="0">
+                          <Group type="102" alignment="0" attributes="0">
                               <EmptySpace max="-2" attributes="0"/>
                               <Group type="103" groupAlignment="0" attributes="0">
-                                  <Group type="102" attributes="0">
-                                      <Group type="103" groupAlignment="0" attributes="0">
-                                          <Component id="frameDifferenceLabel" alignment="1" min="-2" max="-2" attributes="0"/>
-                                          <Component id="staticFrameDifferenceLabel" alignment="1" min="-2" max="-2" attributes="0"/>
-                                          <Component id="weightedMovingMeanLabel" alignment="1" min="-2" max="-2" attributes="0"/>
-                                          <Component id="weightedMovingVarianceLabel" alignment="1" min="-2" max="-2" attributes="0"/>
-                                          <Component id="adaptiveBackgroundLearningLabel" alignment="1" min="-2" max="-2" attributes="0"/>
-                                          <Component id="openCVMoGV1Label" alignment="1" min="-2" max="-2" attributes="0"/>
-                                          <Component id="openCVMoGV2Label" alignment="1" min="-2" max="-2" attributes="0"/>
-                                      </Group>
-                                      <EmptySpace max="-2" attributes="0"/>
-                                      <Group type="103" groupAlignment="0" attributes="0">
-                                          <Component id="staticFrameDifferenceCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="weightedMovingMeanCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="weightedMovingVarianceCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="adaptiveBackgroundLearningCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="frameDifferenceCheckBox" min="-2" max="-2" attributes="0"/>
-                                          <Component id="openCVMoGV1CheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="openCVMoGV2CheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                      </Group>
-                                      <EmptySpace type="separate" max="-2" attributes="0"/>
-                                      <Group type="103" groupAlignment="0" attributes="0">
-                                          <Component id="grimsonGMMLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="zivkovicGMMLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="temporalMeanLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="gaussianAverageLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="eigenbackgroundLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="temporalMedianLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="adaptiveMedianLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                      </Group>
-                                      <EmptySpace max="-2" attributes="0"/>
-                                      <Group type="103" groupAlignment="0" attributes="0">
-                                          <Component id="grimsonGMMCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="gaussianAverageCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="eigenbackgroundCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="temporalMedianCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="zivkovicGMMCheckBox" min="-2" max="-2" attributes="0"/>
-                                          <Component id="adaptiveMedianCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="temporalMeanCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                      </Group>
-                                      <EmptySpace type="separate" max="-2" attributes="0"/>
-                                      <Group type="103" groupAlignment="0" attributes="0">
-                                          <Component id="fuzzyGaussianLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="simpleGaussianLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="T2FGMMUVLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="mixtureOfGaussiansLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="adaptiveSOMLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="fuzzyAdaptiveSOMLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="T2FGMMUMLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                      </Group>
+                                  <Group type="102" alignment="0" attributes="0">
+                                      <Component id="checkAllButton" min="-2" pref="100" max="-2" attributes="0"/>
                                       <EmptySpace max="-2" attributes="0"/>
-                                      <Group type="103" groupAlignment="0" attributes="0">
-                                          <Component id="T2FGMMUVCheckBox" min="-2" max="-2" attributes="0"/>
-                                          <Component id="T2FGMMUMCheckBox" min="-2" max="-2" attributes="0"/>
-                                          <Component id="fuzzyAdaptiveSOMCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="simpleGaussianCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="mixtureOfGaussiansCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="fuzzyGaussianCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                          <Component id="adaptiveSOMCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                      </Group>
-                                      <EmptySpace type="separate" max="-2" attributes="0"/>
+                                      <Component id="uncheckAllButton" min="-2" pref="100" max="-2" attributes="0"/>
+                                      <EmptySpace max="32767" attributes="0"/>
+                                      <Component id="openConfigButton" min="-2" pref="100" max="-2" attributes="0"/>
+                                  </Group>
+                                  <Group type="102" attributes="0">
                                       <Group type="103" groupAlignment="0" attributes="0">
                                           <Group type="102" alignment="0" attributes="0">
-                                              <Component id="fuzzySugenoIntegralLabel" min="-2" max="-2" attributes="0"/>
+                                              <Group type="103" groupAlignment="0" attributes="0">
+                                                  <Component id="frameDifferenceLabel" alignment="1" min="-2" max="-2" attributes="0"/>
+                                                  <Component id="staticFrameDifferenceLabel" alignment="1" min="-2" max="-2" attributes="0"/>
+                                                  <Component id="weightedMovingMeanLabel" alignment="1" min="-2" max="-2" attributes="0"/>
+                                                  <Component id="weightedMovingVarianceLabel" alignment="1" min="-2" max="-2" attributes="0"/>
+                                                  <Component id="adaptiveBackgroundLearningLabel" alignment="1" min="-2" max="-2" attributes="0"/>
+                                                  <Component id="openCVMoGV1Label" alignment="1" min="-2" max="-2" attributes="0"/>
+                                                  <Component id="openCVMoGV2Label" alignment="1" min="-2" max="-2" attributes="0"/>
+                                              </Group>
                                               <EmptySpace max="-2" attributes="0"/>
-                                              <Component id="fuzzySugenoIntegralCheckBox" min="-2" max="-2" attributes="0"/>
+                                              <Group type="103" groupAlignment="0" attributes="0">
+                                                  <Component id="staticFrameDifferenceCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                  <Component id="weightedMovingMeanCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                  <Component id="weightedMovingVarianceCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                  <Component id="adaptiveBackgroundLearningCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                  <Component id="frameDifferenceCheckBox" min="-2" max="-2" attributes="0"/>
+                                                  <Component id="openCVMoGV1CheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                  <Component id="openCVMoGV2CheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                              </Group>
                                           </Group>
                                           <Group type="102" alignment="0" attributes="0">
-                                              <Component id="fuzzyChoquetIntegralLabel" min="-2" max="-2" attributes="0"/>
+                                              <Component id="KDELabel" min="-2" max="-2" attributes="0"/>
                                               <EmptySpace max="-2" attributes="0"/>
-                                              <Component id="fuzzyChoquetIntegralCheckBox" min="-2" max="-2" attributes="0"/>
+                                              <Component id="KDECheckBox" min="-2" max="-2" attributes="0"/>
                                           </Group>
                                           <Group type="102" alignment="0" attributes="0">
-                                              <Component id="multiLayerBGSLabel" min="-2" max="-2" attributes="0"/>
+                                              <Component id="SuBSENSELabel" min="-2" max="-2" attributes="0"/>
                                               <EmptySpace max="-2" attributes="0"/>
-                                              <Component id="multiLayerBGSCheckBox" min="-2" max="-2" attributes="0"/>
+                                              <Component id="SuBSENSECheckBox" min="-2" max="-2" attributes="0"/>
+                                          </Group>
+                                      </Group>
+                                      <EmptySpace type="separate" max="-2" attributes="0"/>
+                                      <Group type="103" groupAlignment="0" attributes="0">
+                                          <Group type="102" attributes="0">
+                                              <Component id="LOBSTERLabel" min="-2" max="-2" attributes="0"/>
+                                              <EmptySpace max="-2" attributes="0"/>
+                                              <Component id="LOBSTERCheckBox" min="-2" max="-2" attributes="0"/>
                                           </Group>
                                           <Group type="102" attributes="0">
                                               <Group type="103" groupAlignment="0" attributes="0">
-                                                  <Component id="T2FMRFUVLabel" alignment="0" min="-2" max="-2" attributes="0"/>
-                                                  <Component id="T2FMRFUMLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                  <Group type="102" alignment="0" attributes="0">
+                                                      <Group type="103" groupAlignment="0" attributes="0">
+                                                          <Component id="grimsonGMMLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="zivkovicGMMLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="temporalMeanLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="gaussianAverageLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="eigenbackgroundLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="temporalMedianLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="adaptiveMedianLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                      </Group>
+                                                      <EmptySpace max="-2" attributes="0"/>
+                                                      <Group type="103" groupAlignment="0" attributes="0">
+                                                          <Component id="grimsonGMMCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="gaussianAverageCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="eigenbackgroundCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="temporalMedianCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="zivkovicGMMCheckBox" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="adaptiveMedianCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="temporalMeanCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                      </Group>
+                                                  </Group>
+                                                  <Group type="102" alignment="0" attributes="0">
+                                                      <Component id="IMBSLabel" min="-2" max="-2" attributes="0"/>
+                                                      <EmptySpace max="-2" attributes="0"/>
+                                                      <Component id="IMBSCheckBox" min="-2" max="-2" attributes="0"/>
+                                                  </Group>
                                               </Group>
-                                              <EmptySpace max="-2" attributes="0"/>
+                                              <EmptySpace type="separate" max="-2" attributes="0"/>
                                               <Group type="103" groupAlignment="0" attributes="0">
-                                                  <Component id="T2FMRFUVCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
-                                                  <Component id="T2FMRFUMCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                  <Group type="102" attributes="0">
+                                                      <Group type="103" groupAlignment="0" attributes="0">
+                                                          <Component id="fuzzyGaussianLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="simpleGaussianLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="T2FGMMUVLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="mixtureOfGaussiansLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="adaptiveSOMLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="fuzzyAdaptiveSOMLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="T2FGMMUMLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                      </Group>
+                                                      <EmptySpace max="-2" attributes="0"/>
+                                                      <Group type="103" groupAlignment="0" attributes="0">
+                                                          <Component id="T2FGMMUVCheckBox" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="T2FGMMUMCheckBox" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="fuzzyAdaptiveSOMCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="simpleGaussianCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="mixtureOfGaussiansCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="fuzzyGaussianCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="adaptiveSOMCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                      </Group>
+                                                  </Group>
+                                                  <Group type="102" attributes="0">
+                                                      <Component id="MultiCueLabel" min="-2" max="-2" attributes="0"/>
+                                                      <EmptySpace max="-2" attributes="0"/>
+                                                      <Component id="MultiCueCheckBox" min="-2" max="-2" attributes="0"/>
+                                                  </Group>
+                                              </Group>
+                                              <EmptySpace type="separate" max="-2" attributes="0"/>
+                                              <Group type="103" groupAlignment="0" attributes="0">
+                                                  <Group type="102" attributes="0">
+                                                      <Component id="SigmaDeltaLabel" min="-2" max="-2" attributes="0"/>
+                                                      <EmptySpace max="-2" attributes="0"/>
+                                                      <Component id="SigmaDeltaCheckBox" min="-2" max="-2" attributes="0"/>
+                                                  </Group>
+                                                  <Group type="102" alignment="0" attributes="0">
+                                                      <Component id="fuzzySugenoIntegralLabel" min="-2" max="-2" attributes="0"/>
+                                                      <EmptySpace max="-2" attributes="0"/>
+                                                      <Component id="fuzzySugenoIntegralCheckBox" min="-2" max="-2" attributes="0"/>
+                                                  </Group>
+                                                  <Group type="102" alignment="0" attributes="0">
+                                                      <Component id="fuzzyChoquetIntegralLabel" min="-2" max="-2" attributes="0"/>
+                                                      <EmptySpace max="-2" attributes="0"/>
+                                                      <Component id="fuzzyChoquetIntegralCheckBox" min="-2" max="-2" attributes="0"/>
+                                                  </Group>
+                                                  <Group type="102" alignment="0" attributes="0">
+                                                      <Component id="multiLayerBGSLabel" min="-2" max="-2" attributes="0"/>
+                                                      <EmptySpace max="-2" attributes="0"/>
+                                                      <Component id="multiLayerBGSCheckBox" min="-2" max="-2" attributes="0"/>
+                                                  </Group>
+                                                  <Group type="102" attributes="0">
+                                                      <Group type="103" groupAlignment="0" attributes="0">
+                                                          <Component id="T2FMRFUVLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="T2FMRFUMLabel" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                      </Group>
+                                                      <EmptySpace max="-2" attributes="0"/>
+                                                      <Group type="103" groupAlignment="0" attributes="0">
+                                                          <Component id="T2FMRFUVCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                          <Component id="T2FMRFUMCheckBox" alignment="0" min="-2" max="-2" attributes="0"/>
+                                                      </Group>
+                                                  </Group>
+                                                  <Group type="102" attributes="0">
+                                                      <Component id="GMGLabel" min="-2" max="-2" attributes="0"/>
+                                                      <EmptySpace max="-2" attributes="0"/>
+                                                      <Component id="GMGCheckBox" min="-2" max="-2" attributes="0"/>
+                                                  </Group>
+                                                  <Group type="102" alignment="0" attributes="0">
+                                                      <Component id="VuMeterLabel" min="-2" max="-2" attributes="0"/>
+                                                      <EmptySpace max="-2" attributes="0"/>
+                                                      <Component id="VuMeterCheckBox" min="-2" max="-2" attributes="0"/>
+                                                  </Group>
                                               </Group>
-                                          </Group>
-                                          <Group type="102" attributes="0">
-                                              <Component id="GMGLabel" min="-2" max="-2" attributes="0"/>
-                                              <EmptySpace max="-2" attributes="0"/>
-                                              <Component id="GMGCheckBox" min="-2" max="-2" attributes="0"/>
-                                          </Group>
-                                          <Group type="102" alignment="0" attributes="0">
-                                              <Component id="VuMeterLabel" min="-2" max="-2" attributes="0"/>
-                                              <EmptySpace max="-2" attributes="0"/>
-                                              <Component id="VuMeterCheckBox" min="-2" max="-2" attributes="0"/>
                                           </Group>
                                       </Group>
                                       <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
                                   </Group>
-                                  <Group type="102" alignment="0" attributes="0">
-                                      <Component id="checkAllButton" min="-2" pref="100" max="-2" attributes="0"/>
-                                      <EmptySpace max="-2" attributes="0"/>
-                                      <Component id="uncheckAllButton" min="-2" pref="100" max="-2" attributes="0"/>
-                                      <EmptySpace max="32767" attributes="0"/>
-                                      <Component id="openConfigButton" min="-2" pref="100" max="-2" attributes="0"/>
-                                  </Group>
                               </Group>
                               <EmptySpace max="-2" attributes="0"/>
                           </Group>
@@ -1222,7 +1268,35 @@
                                       </Group>
                                   </Group>
                               </Group>
-                              <EmptySpace pref="30" max="32767" attributes="0"/>
+                              <EmptySpace max="-2" attributes="0"/>
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Group type="103" groupAlignment="3" attributes="0">
+                                      <Component id="KDECheckBox" alignment="3" min="-2" max="-2" attributes="0"/>
+                                      <Component id="KDELabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                                  </Group>
+                                  <Group type="103" alignment="0" groupAlignment="3" attributes="0">
+                                      <Component id="IMBSCheckBox" alignment="3" min="-2" max="-2" attributes="0"/>
+                                      <Component id="IMBSLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                                  </Group>
+                                  <Group type="103" alignment="0" groupAlignment="3" attributes="0">
+                                      <Component id="SigmaDeltaCheckBox" alignment="3" min="-2" max="-2" attributes="0"/>
+                                      <Component id="SigmaDeltaLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                                      <Component id="MultiCueCheckBox" alignment="3" min="-2" max="-2" attributes="0"/>
+                                      <Component id="MultiCueLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                                  </Group>
+                              </Group>
+                              <EmptySpace max="-2" attributes="0"/>
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Group type="103" groupAlignment="3" attributes="0">
+                                      <Component id="SuBSENSECheckBox" alignment="3" min="-2" max="-2" attributes="0"/>
+                                      <Component id="SuBSENSELabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                                  </Group>
+                                  <Group type="103" alignment="0" groupAlignment="3" attributes="0">
+                                      <Component id="LOBSTERCheckBox" alignment="3" min="-2" max="-2" attributes="0"/>
+                                      <Component id="LOBSTERLabel" alignment="3" min="-2" max="-2" attributes="0"/>
+                                  </Group>
+                              </Group>
+                              <EmptySpace pref="6" max="32767" attributes="0"/>
                               <Group type="103" groupAlignment="3" attributes="0">
                                   <Component id="checkAllButton" alignment="3" min="-2" max="-2" attributes="0"/>
                                   <Component id="uncheckAllButton" alignment="3" min="-2" max="-2" attributes="0"/>
@@ -1930,6 +2004,150 @@
                         <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="VuMeterCheckBoxActionPerformed"/>
                       </Events>
                     </Component>
+                    <Component class="javax.swing.JLabel" name="KDELabel">
+                      <Properties>
+                        <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+                          <Color blue="ff" green="0" red="0" type="rgb"/>
+                        </Property>
+                        <Property name="text" type="java.lang.String" value="C"/>
+                        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                          <Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
+                            <EtchetBorder/>
+                          </Border>
+                        </Property>
+                      </Properties>
+                      <Events>
+                        <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="KDELabelMouseClicked"/>
+                      </Events>
+                    </Component>
+                    <Component class="javax.swing.JCheckBox" name="KDECheckBox">
+                      <Properties>
+                        <Property name="text" type="java.lang.String" value="KDE"/>
+                      </Properties>
+                      <Events>
+                        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="KDECheckBoxActionPerformed"/>
+                      </Events>
+                    </Component>
+                    <Component class="javax.swing.JLabel" name="IMBSLabel">
+                      <Properties>
+                        <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+                          <Color blue="ff" green="0" red="0" type="rgb"/>
+                        </Property>
+                        <Property name="text" type="java.lang.String" value="C"/>
+                        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                          <Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
+                            <EtchetBorder/>
+                          </Border>
+                        </Property>
+                      </Properties>
+                      <Events>
+                        <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="IMBSLabelMouseClicked"/>
+                      </Events>
+                    </Component>
+                    <Component class="javax.swing.JCheckBox" name="IMBSCheckBox">
+                      <Properties>
+                        <Property name="text" type="java.lang.String" value="IMBS"/>
+                      </Properties>
+                      <Events>
+                        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="IMBSCheckBoxActionPerformed"/>
+                      </Events>
+                    </Component>
+                    <Component class="javax.swing.JLabel" name="SigmaDeltaLabel">
+                      <Properties>
+                        <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+                          <Color blue="ff" green="0" red="0" type="rgb"/>
+                        </Property>
+                        <Property name="text" type="java.lang.String" value="C"/>
+                        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                          <Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
+                            <EtchetBorder/>
+                          </Border>
+                        </Property>
+                      </Properties>
+                      <Events>
+                        <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="SigmaDeltaLabelMouseClicked"/>
+                      </Events>
+                    </Component>
+                    <Component class="javax.swing.JCheckBox" name="SigmaDeltaCheckBox">
+                      <Properties>
+                        <Property name="text" type="java.lang.String" value="Sigma-Delta"/>
+                      </Properties>
+                      <Events>
+                        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="SigmaDeltaCheckBoxActionPerformed"/>
+                      </Events>
+                    </Component>
+                    <Component class="javax.swing.JCheckBox" name="MultiCueCheckBox">
+                      <Properties>
+                        <Property name="text" type="java.lang.String" value="MultiCue"/>
+                      </Properties>
+                      <Events>
+                        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="MultiCueCheckBoxActionPerformed"/>
+                      </Events>
+                    </Component>
+                    <Component class="javax.swing.JLabel" name="MultiCueLabel">
+                      <Properties>
+                        <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+                          <Color blue="ff" green="0" red="0" type="rgb"/>
+                        </Property>
+                        <Property name="text" type="java.lang.String" value="C"/>
+                        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                          <Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
+                            <EtchetBorder/>
+                          </Border>
+                        </Property>
+                      </Properties>
+                      <Events>
+                        <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="MultiCueLabelMouseClicked"/>
+                      </Events>
+                    </Component>
+                    <Component class="javax.swing.JCheckBox" name="SuBSENSECheckBox">
+                      <Properties>
+                        <Property name="text" type="java.lang.String" value="SuBSENSE"/>
+                      </Properties>
+                      <Events>
+                        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="SuBSENSECheckBoxActionPerformed"/>
+                      </Events>
+                    </Component>
+                    <Component class="javax.swing.JLabel" name="SuBSENSELabel">
+                      <Properties>
+                        <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+                          <Color blue="ff" green="0" red="0" type="rgb"/>
+                        </Property>
+                        <Property name="text" type="java.lang.String" value="C"/>
+                        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                          <Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
+                            <EtchetBorder/>
+                          </Border>
+                        </Property>
+                      </Properties>
+                      <Events>
+                        <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="SuBSENSELabelMouseClicked"/>
+                      </Events>
+                    </Component>
+                    <Component class="javax.swing.JCheckBox" name="LOBSTERCheckBox">
+                      <Properties>
+                        <Property name="text" type="java.lang.String" value="LOBSTER"/>
+                      </Properties>
+                      <Events>
+                        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="LOBSTERCheckBoxActionPerformed"/>
+                      </Events>
+                    </Component>
+                    <Component class="javax.swing.JLabel" name="LOBSTERLabel">
+                      <Properties>
+                        <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+                          <Color blue="ff" green="0" red="0" type="rgb"/>
+                        </Property>
+                        <Property name="text" type="java.lang.String" value="C"/>
+                        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                          <Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo">
+                            <EtchetBorder/>
+                          </Border>
+                        </Property>
+                      </Properties>
+                      <Events>
+                        <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="LOBSTERLabelMouseClicked"/>
+                      </Events>
+                    </Component>
                   </SubComponents>
                 </Container>
               </SubComponents>
@@ -2040,12 +2258,12 @@
                       <Group type="102" attributes="0">
                           <EmptySpace max="-2" attributes="0"/>
                           <Group type="103" groupAlignment="0" attributes="0">
-                              <Group type="102" attributes="0">
+                              <Component id="jScrollPane1" min="-2" pref="710" max="-2" attributes="0"/>
+                              <Group type="102" alignment="0" attributes="0">
                                   <Component id="jLabel12" min="-2" max="-2" attributes="0"/>
                                   <EmptySpace max="-2" attributes="0"/>
                                   <Component id="fileNameLabel" min="-2" pref="200" max="-2" attributes="0"/>
                               </Group>
-                              <Component id="jScrollPane1" min="-2" pref="710" max="-2" attributes="0"/>
                           </Group>
                           <EmptySpace pref="18" max="32767" attributes="0"/>
                       </Group>
@@ -2055,7 +2273,7 @@
                   <Group type="103" groupAlignment="0" attributes="0">
                       <Group type="102" alignment="0" attributes="0">
                           <EmptySpace max="-2" attributes="0"/>
-                          <Component id="jScrollPane1" pref="487" max="32767" attributes="0"/>
+                          <Component id="jScrollPane1" pref="536" max="32767" attributes="0"/>
                           <EmptySpace max="-2" attributes="0"/>
                           <Group type="103" groupAlignment="3" attributes="0">
                               <Component id="jLabel12" alignment="3" min="-2" max="-2" attributes="0"/>
@@ -2127,7 +2345,7 @@
                       <EmptySpace max="-2" attributes="0"/>
                       <Component id="jToolBar2" min="-2" pref="25" max="-2" attributes="0"/>
                       <EmptySpace max="-2" attributes="0"/>
-                      <Component id="logTextScrollPane" pref="552" max="32767" attributes="0"/>
+                      <Component id="logTextScrollPane" pref="601" max="32767" attributes="0"/>
                       <EmptySpace max="-2" attributes="0"/>
                   </Group>
               </Group>
diff --git a/java_gui/src/br/com/bgslibrary/gui/MainFrame.java b/java_gui/src/br/com/bgslibrary/gui/MainFrame.java
index 8dcdd07dbd5e8fed979428d5ffde8b9b6839ea24..4938426f86529e1a6abf60ae8f40aa4a04490cad 100644
--- a/java_gui/src/br/com/bgslibrary/gui/MainFrame.java
+++ b/java_gui/src/br/com/bgslibrary/gui/MainFrame.java
@@ -753,6 +753,18 @@ public class MainFrame extends javax.swing.JFrame
     GMGLabel = new javax.swing.JLabel();
     VuMeterLabel = new javax.swing.JLabel();
     VuMeterCheckBox = new javax.swing.JCheckBox();
+    KDELabel = new javax.swing.JLabel();
+    KDECheckBox = new javax.swing.JCheckBox();
+    IMBSLabel = new javax.swing.JLabel();
+    IMBSCheckBox = new javax.swing.JCheckBox();
+    SigmaDeltaLabel = new javax.swing.JLabel();
+    SigmaDeltaCheckBox = new javax.swing.JCheckBox();
+    MultiCueCheckBox = new javax.swing.JCheckBox();
+    MultiCueLabel = new javax.swing.JLabel();
+    SuBSENSECheckBox = new javax.swing.JCheckBox();
+    SuBSENSELabel = new javax.swing.JLabel();
+    LOBSTERCheckBox = new javax.swing.JCheckBox();
+    LOBSTERLabel = new javax.swing.JLabel();
     runButton2 = new javax.swing.JButton();
     jPanel16 = new javax.swing.JPanel();
     jToolBar1 = new javax.swing.JToolBar();
@@ -1086,7 +1098,7 @@ public class MainFrame extends javax.swing.JFrame
             .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
             .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
           .addComponent(runButton))
-        .addContainerGap(245, Short.MAX_VALUE))
+        .addContainerGap(294, Short.MAX_VALUE))
     );
 
     appTabbedPane.addTab("Main", jPanel1);
@@ -1995,6 +2007,126 @@ public class MainFrame extends javax.swing.JFrame
       }
     });
 
+    KDELabel.setForeground(new java.awt.Color(0, 0, 255));
+    KDELabel.setText("C");
+    KDELabel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
+    KDELabel.addMouseListener(new java.awt.event.MouseAdapter()
+    {
+      public void mouseClicked(java.awt.event.MouseEvent evt)
+      {
+        KDELabelMouseClicked(evt);
+      }
+    });
+
+    KDECheckBox.setText("KDE");
+    KDECheckBox.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(java.awt.event.ActionEvent evt)
+      {
+        KDECheckBoxActionPerformed(evt);
+      }
+    });
+
+    IMBSLabel.setForeground(new java.awt.Color(0, 0, 255));
+    IMBSLabel.setText("C");
+    IMBSLabel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
+    IMBSLabel.addMouseListener(new java.awt.event.MouseAdapter()
+    {
+      public void mouseClicked(java.awt.event.MouseEvent evt)
+      {
+        IMBSLabelMouseClicked(evt);
+      }
+    });
+
+    IMBSCheckBox.setText("IMBS");
+    IMBSCheckBox.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(java.awt.event.ActionEvent evt)
+      {
+        IMBSCheckBoxActionPerformed(evt);
+      }
+    });
+
+    SigmaDeltaLabel.setForeground(new java.awt.Color(0, 0, 255));
+    SigmaDeltaLabel.setText("C");
+    SigmaDeltaLabel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
+    SigmaDeltaLabel.addMouseListener(new java.awt.event.MouseAdapter()
+    {
+      public void mouseClicked(java.awt.event.MouseEvent evt)
+      {
+        SigmaDeltaLabelMouseClicked(evt);
+      }
+    });
+
+    SigmaDeltaCheckBox.setText("Sigma-Delta");
+    SigmaDeltaCheckBox.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(java.awt.event.ActionEvent evt)
+      {
+        SigmaDeltaCheckBoxActionPerformed(evt);
+      }
+    });
+
+    MultiCueCheckBox.setText("MultiCue");
+    MultiCueCheckBox.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(java.awt.event.ActionEvent evt)
+      {
+        MultiCueCheckBoxActionPerformed(evt);
+      }
+    });
+
+    MultiCueLabel.setForeground(new java.awt.Color(0, 0, 255));
+    MultiCueLabel.setText("C");
+    MultiCueLabel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
+    MultiCueLabel.addMouseListener(new java.awt.event.MouseAdapter()
+    {
+      public void mouseClicked(java.awt.event.MouseEvent evt)
+      {
+        MultiCueLabelMouseClicked(evt);
+      }
+    });
+
+    SuBSENSECheckBox.setText("SuBSENSE");
+    SuBSENSECheckBox.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(java.awt.event.ActionEvent evt)
+      {
+        SuBSENSECheckBoxActionPerformed(evt);
+      }
+    });
+
+    SuBSENSELabel.setForeground(new java.awt.Color(0, 0, 255));
+    SuBSENSELabel.setText("C");
+    SuBSENSELabel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
+    SuBSENSELabel.addMouseListener(new java.awt.event.MouseAdapter()
+    {
+      public void mouseClicked(java.awt.event.MouseEvent evt)
+      {
+        SuBSENSELabelMouseClicked(evt);
+      }
+    });
+
+    LOBSTERCheckBox.setText("LOBSTER");
+    LOBSTERCheckBox.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(java.awt.event.ActionEvent evt)
+      {
+        LOBSTERCheckBoxActionPerformed(evt);
+      }
+    });
+
+    LOBSTERLabel.setForeground(new java.awt.Color(0, 0, 255));
+    LOBSTERLabel.setText("C");
+    LOBSTERLabel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
+    LOBSTERLabel.addMouseListener(new java.awt.event.MouseAdapter()
+    {
+      public void mouseClicked(java.awt.event.MouseEvent evt)
+      {
+        LOBSTERLabelMouseClicked(evt);
+      }
+    });
+
     javax.swing.GroupLayout jPanel13Layout = new javax.swing.GroupLayout(jPanel13);
     jPanel13.setLayout(jPanel13Layout);
     jPanel13Layout.setHorizontalGroup(
@@ -2003,96 +2135,128 @@ public class MainFrame extends javax.swing.JFrame
         .addContainerGap()
         .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
           .addGroup(jPanel13Layout.createSequentialGroup()
-            .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-              .addComponent(frameDifferenceLabel, javax.swing.GroupLayout.Alignment.TRAILING)
-              .addComponent(staticFrameDifferenceLabel, javax.swing.GroupLayout.Alignment.TRAILING)
-              .addComponent(weightedMovingMeanLabel, javax.swing.GroupLayout.Alignment.TRAILING)
-              .addComponent(weightedMovingVarianceLabel, javax.swing.GroupLayout.Alignment.TRAILING)
-              .addComponent(adaptiveBackgroundLearningLabel, javax.swing.GroupLayout.Alignment.TRAILING)
-              .addComponent(openCVMoGV1Label, javax.swing.GroupLayout.Alignment.TRAILING)
-              .addComponent(openCVMoGV2Label, javax.swing.GroupLayout.Alignment.TRAILING))
-            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-            .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-              .addComponent(staticFrameDifferenceCheckBox)
-              .addComponent(weightedMovingMeanCheckBox)
-              .addComponent(weightedMovingVarianceCheckBox)
-              .addComponent(adaptiveBackgroundLearningCheckBox)
-              .addComponent(frameDifferenceCheckBox)
-              .addComponent(openCVMoGV1CheckBox)
-              .addComponent(openCVMoGV2CheckBox))
-            .addGap(18, 18, 18)
-            .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-              .addComponent(grimsonGMMLabel)
-              .addComponent(zivkovicGMMLabel)
-              .addComponent(temporalMeanLabel)
-              .addComponent(gaussianAverageLabel)
-              .addComponent(eigenbackgroundLabel)
-              .addComponent(temporalMedianLabel)
-              .addComponent(adaptiveMedianLabel))
-            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-            .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-              .addComponent(grimsonGMMCheckBox)
-              .addComponent(gaussianAverageCheckBox)
-              .addComponent(eigenbackgroundCheckBox)
-              .addComponent(temporalMedianCheckBox)
-              .addComponent(zivkovicGMMCheckBox)
-              .addComponent(adaptiveMedianCheckBox)
-              .addComponent(temporalMeanCheckBox))
-            .addGap(18, 18, 18)
-            .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-              .addComponent(fuzzyGaussianLabel)
-              .addComponent(simpleGaussianLabel)
-              .addComponent(T2FGMMUVLabel)
-              .addComponent(mixtureOfGaussiansLabel)
-              .addComponent(adaptiveSOMLabel)
-              .addComponent(fuzzyAdaptiveSOMLabel)
-              .addComponent(T2FGMMUMLabel))
+            .addComponent(checkAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
             .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+            .addComponent(uncheckAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
+            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+            .addComponent(openConfigButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
+          .addGroup(jPanel13Layout.createSequentialGroup()
             .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-              .addComponent(T2FGMMUVCheckBox)
-              .addComponent(T2FGMMUMCheckBox)
-              .addComponent(fuzzyAdaptiveSOMCheckBox)
-              .addComponent(simpleGaussianCheckBox)
-              .addComponent(mixtureOfGaussiansCheckBox)
-              .addComponent(fuzzyGaussianCheckBox)
-              .addComponent(adaptiveSOMCheckBox))
-            .addGap(18, 18, 18)
-            .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-              .addGroup(jPanel13Layout.createSequentialGroup()
-                .addComponent(fuzzySugenoIntegralLabel)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(fuzzySugenoIntegralCheckBox))
               .addGroup(jPanel13Layout.createSequentialGroup()
-                .addComponent(fuzzyChoquetIntegralLabel)
+                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                  .addComponent(frameDifferenceLabel, javax.swing.GroupLayout.Alignment.TRAILING)
+                  .addComponent(staticFrameDifferenceLabel, javax.swing.GroupLayout.Alignment.TRAILING)
+                  .addComponent(weightedMovingMeanLabel, javax.swing.GroupLayout.Alignment.TRAILING)
+                  .addComponent(weightedMovingVarianceLabel, javax.swing.GroupLayout.Alignment.TRAILING)
+                  .addComponent(adaptiveBackgroundLearningLabel, javax.swing.GroupLayout.Alignment.TRAILING)
+                  .addComponent(openCVMoGV1Label, javax.swing.GroupLayout.Alignment.TRAILING)
+                  .addComponent(openCVMoGV2Label, javax.swing.GroupLayout.Alignment.TRAILING))
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(fuzzyChoquetIntegralCheckBox))
+                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                  .addComponent(staticFrameDifferenceCheckBox)
+                  .addComponent(weightedMovingMeanCheckBox)
+                  .addComponent(weightedMovingVarianceCheckBox)
+                  .addComponent(adaptiveBackgroundLearningCheckBox)
+                  .addComponent(frameDifferenceCheckBox)
+                  .addComponent(openCVMoGV1CheckBox)
+                  .addComponent(openCVMoGV2CheckBox)))
               .addGroup(jPanel13Layout.createSequentialGroup()
-                .addComponent(multiLayerBGSLabel)
+                .addComponent(KDELabel)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(multiLayerBGSCheckBox))
+                .addComponent(KDECheckBox))
               .addGroup(jPanel13Layout.createSequentialGroup()
-                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                  .addComponent(T2FMRFUVLabel)
-                  .addComponent(T2FMRFUMLabel))
+                .addComponent(SuBSENSELabel)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                  .addComponent(T2FMRFUVCheckBox)
-                  .addComponent(T2FMRFUMCheckBox)))
+                .addComponent(SuBSENSECheckBox)))
+            .addGap(18, 18, 18)
+            .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
               .addGroup(jPanel13Layout.createSequentialGroup()
-                .addComponent(GMGLabel)
+                .addComponent(LOBSTERLabel)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(GMGCheckBox))
+                .addComponent(LOBSTERCheckBox))
               .addGroup(jPanel13Layout.createSequentialGroup()
-                .addComponent(VuMeterLabel)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(VuMeterCheckBox)))
-            .addGap(0, 0, Short.MAX_VALUE))
-          .addGroup(jPanel13Layout.createSequentialGroup()
-            .addComponent(checkAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
-            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-            .addComponent(uncheckAllButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
-            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-            .addComponent(openConfigButton, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                  .addGroup(jPanel13Layout.createSequentialGroup()
+                    .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                      .addComponent(grimsonGMMLabel)
+                      .addComponent(zivkovicGMMLabel)
+                      .addComponent(temporalMeanLabel)
+                      .addComponent(gaussianAverageLabel)
+                      .addComponent(eigenbackgroundLabel)
+                      .addComponent(temporalMedianLabel)
+                      .addComponent(adaptiveMedianLabel))
+                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                    .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                      .addComponent(grimsonGMMCheckBox)
+                      .addComponent(gaussianAverageCheckBox)
+                      .addComponent(eigenbackgroundCheckBox)
+                      .addComponent(temporalMedianCheckBox)
+                      .addComponent(zivkovicGMMCheckBox)
+                      .addComponent(adaptiveMedianCheckBox)
+                      .addComponent(temporalMeanCheckBox)))
+                  .addGroup(jPanel13Layout.createSequentialGroup()
+                    .addComponent(IMBSLabel)
+                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                    .addComponent(IMBSCheckBox)))
+                .addGap(18, 18, 18)
+                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                  .addGroup(jPanel13Layout.createSequentialGroup()
+                    .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                      .addComponent(fuzzyGaussianLabel)
+                      .addComponent(simpleGaussianLabel)
+                      .addComponent(T2FGMMUVLabel)
+                      .addComponent(mixtureOfGaussiansLabel)
+                      .addComponent(adaptiveSOMLabel)
+                      .addComponent(fuzzyAdaptiveSOMLabel)
+                      .addComponent(T2FGMMUMLabel))
+                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                    .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                      .addComponent(T2FGMMUVCheckBox)
+                      .addComponent(T2FGMMUMCheckBox)
+                      .addComponent(fuzzyAdaptiveSOMCheckBox)
+                      .addComponent(simpleGaussianCheckBox)
+                      .addComponent(mixtureOfGaussiansCheckBox)
+                      .addComponent(fuzzyGaussianCheckBox)
+                      .addComponent(adaptiveSOMCheckBox)))
+                  .addGroup(jPanel13Layout.createSequentialGroup()
+                    .addComponent(MultiCueLabel)
+                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                    .addComponent(MultiCueCheckBox)))
+                .addGap(18, 18, 18)
+                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                  .addGroup(jPanel13Layout.createSequentialGroup()
+                    .addComponent(SigmaDeltaLabel)
+                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                    .addComponent(SigmaDeltaCheckBox))
+                  .addGroup(jPanel13Layout.createSequentialGroup()
+                    .addComponent(fuzzySugenoIntegralLabel)
+                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                    .addComponent(fuzzySugenoIntegralCheckBox))
+                  .addGroup(jPanel13Layout.createSequentialGroup()
+                    .addComponent(fuzzyChoquetIntegralLabel)
+                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                    .addComponent(fuzzyChoquetIntegralCheckBox))
+                  .addGroup(jPanel13Layout.createSequentialGroup()
+                    .addComponent(multiLayerBGSLabel)
+                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                    .addComponent(multiLayerBGSCheckBox))
+                  .addGroup(jPanel13Layout.createSequentialGroup()
+                    .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                      .addComponent(T2FMRFUVLabel)
+                      .addComponent(T2FMRFUMLabel))
+                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                    .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                      .addComponent(T2FMRFUVCheckBox)
+                      .addComponent(T2FMRFUMCheckBox)))
+                  .addGroup(jPanel13Layout.createSequentialGroup()
+                    .addComponent(GMGLabel)
+                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                    .addComponent(GMGCheckBox))
+                  .addGroup(jPanel13Layout.createSequentialGroup()
+                    .addComponent(VuMeterLabel)
+                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                    .addComponent(VuMeterCheckBox)))))
+            .addGap(0, 0, Short.MAX_VALUE)))
         .addContainerGap())
     );
     jPanel13Layout.setVerticalGroup(
@@ -2184,7 +2348,28 @@ public class MainFrame extends javax.swing.JFrame
             .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
               .addComponent(VuMeterCheckBox)
               .addComponent(VuMeterLabel))))
-        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 30, Short.MAX_VALUE)
+        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+        .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+          .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+            .addComponent(KDECheckBox)
+            .addComponent(KDELabel))
+          .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+            .addComponent(IMBSCheckBox)
+            .addComponent(IMBSLabel))
+          .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+            .addComponent(SigmaDeltaCheckBox)
+            .addComponent(SigmaDeltaLabel)
+            .addComponent(MultiCueCheckBox)
+            .addComponent(MultiCueLabel)))
+        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+        .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+          .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+            .addComponent(SuBSENSECheckBox)
+            .addComponent(SuBSENSELabel))
+          .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+            .addComponent(LOBSTERCheckBox)
+            .addComponent(LOBSTERLabel)))
+        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 6, Short.MAX_VALUE)
         .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
           .addComponent(checkAllButton)
           .addComponent(uncheckAllButton)
@@ -2215,8 +2400,8 @@ public class MainFrame extends javax.swing.JFrame
         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
         .addComponent(jPanel12, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-        .addComponent(jPanel13, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-        .addContainerGap())
+        .addComponent(jPanel13, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
     );
 
     runButton2.setText("Run");
@@ -2261,8 +2446,8 @@ public class MainFrame extends javax.swing.JFrame
             .addComponent(jPanel10, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
             .addComponent(jPanel9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-        .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-        .addContainerGap())
+        .addComponent(jPanel11, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
     );
 
     appTabbedPane.addTab("Config", jPanel2);
@@ -2326,18 +2511,18 @@ public class MainFrame extends javax.swing.JFrame
       .addGroup(jPanel17Layout.createSequentialGroup()
         .addContainerGap()
         .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+          .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 710, javax.swing.GroupLayout.PREFERRED_SIZE)
           .addGroup(jPanel17Layout.createSequentialGroup()
             .addComponent(jLabel12)
             .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-            .addComponent(fileNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE))
-          .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 710, javax.swing.GroupLayout.PREFERRED_SIZE))
+            .addComponent(fileNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)))
         .addContainerGap(18, Short.MAX_VALUE))
     );
     jPanel17Layout.setVerticalGroup(
       jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
       .addGroup(jPanel17Layout.createSequentialGroup()
         .addContainerGap()
-        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 487, Short.MAX_VALUE)
+        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 536, Short.MAX_VALUE)
         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
         .addGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
           .addComponent(jLabel12)
@@ -2475,7 +2660,7 @@ public class MainFrame extends javax.swing.JFrame
         .addContainerGap()
         .addComponent(jToolBar2, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-        .addComponent(logTextScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 552, Short.MAX_VALUE)
+        .addComponent(logTextScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 601, Short.MAX_VALUE)
         .addContainerGap())
     );
 
@@ -3077,10 +3262,82 @@ public class MainFrame extends javax.swing.JFrame
       changeParam("enableVuMeter", VuMeterCheckBox, Configuration.FrameProcessor);
     }//GEN-LAST:event_VuMeterCheckBoxActionPerformed
 
+  private void KDELabelMouseClicked(java.awt.event.MouseEvent evt)//GEN-FIRST:event_KDELabelMouseClicked
+  {//GEN-HEADEREND:event_KDELabelMouseClicked
+    openFileContent(Configuration.KDE);
+  }//GEN-LAST:event_KDELabelMouseClicked
+
+  private void KDECheckBoxActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_KDECheckBoxActionPerformed
+  {//GEN-HEADEREND:event_KDECheckBoxActionPerformed
+    changeParam("enableKDE", KDECheckBox, Configuration.FrameProcessor);
+  }//GEN-LAST:event_KDECheckBoxActionPerformed
+
+  private void IMBSLabelMouseClicked(java.awt.event.MouseEvent evt)//GEN-FIRST:event_IMBSLabelMouseClicked
+  {//GEN-HEADEREND:event_IMBSLabelMouseClicked
+    openFileContent(Configuration.IndependentMultimodalBGS);
+  }//GEN-LAST:event_IMBSLabelMouseClicked
+
+  private void IMBSCheckBoxActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_IMBSCheckBoxActionPerformed
+  {//GEN-HEADEREND:event_IMBSCheckBoxActionPerformed
+    changeParam("enableIMBS", IMBSCheckBox, Configuration.FrameProcessor);
+  }//GEN-LAST:event_IMBSCheckBoxActionPerformed
+
+  private void SigmaDeltaLabelMouseClicked(java.awt.event.MouseEvent evt)//GEN-FIRST:event_SigmaDeltaLabelMouseClicked
+  {//GEN-HEADEREND:event_SigmaDeltaLabelMouseClicked
+    openFileContent(Configuration.SigmaDeltaBGS);
+  }//GEN-LAST:event_SigmaDeltaLabelMouseClicked
+
+  private void SigmaDeltaCheckBoxActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_SigmaDeltaCheckBoxActionPerformed
+  {//GEN-HEADEREND:event_SigmaDeltaCheckBoxActionPerformed
+    changeParam("enableSigmaDeltaBGS", SigmaDeltaCheckBox, Configuration.FrameProcessor);
+  }//GEN-LAST:event_SigmaDeltaCheckBoxActionPerformed
+
+  private void MultiCueCheckBoxActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_MultiCueCheckBoxActionPerformed
+  {//GEN-HEADEREND:event_MultiCueCheckBoxActionPerformed
+    changeParam("enableMultiCueBGS", MultiCueCheckBox, Configuration.FrameProcessor);
+  }//GEN-LAST:event_MultiCueCheckBoxActionPerformed
+
+  private void MultiCueLabelMouseClicked(java.awt.event.MouseEvent evt)//GEN-FIRST:event_MultiCueLabelMouseClicked
+  {//GEN-HEADEREND:event_MultiCueLabelMouseClicked
+    openFileContent(Configuration.MultiCueBGS);
+  }//GEN-LAST:event_MultiCueLabelMouseClicked
+
+  private void SuBSENSECheckBoxActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_SuBSENSECheckBoxActionPerformed
+  {//GEN-HEADEREND:event_SuBSENSECheckBoxActionPerformed
+    changeParam("enableSuBSENSEBGS", SuBSENSECheckBox, Configuration.FrameProcessor);
+  }//GEN-LAST:event_SuBSENSECheckBoxActionPerformed
+
+  private void SuBSENSELabelMouseClicked(java.awt.event.MouseEvent evt)//GEN-FIRST:event_SuBSENSELabelMouseClicked
+  {//GEN-HEADEREND:event_SuBSENSELabelMouseClicked
+    openFileContent(Configuration.SuBSENSEBGS);
+  }//GEN-LAST:event_SuBSENSELabelMouseClicked
+
+  private void LOBSTERCheckBoxActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_LOBSTERCheckBoxActionPerformed
+  {//GEN-HEADEREND:event_LOBSTERCheckBoxActionPerformed
+    changeParam("enableLOBSTERBGS", LOBSTERCheckBox, Configuration.FrameProcessor);
+  }//GEN-LAST:event_LOBSTERCheckBoxActionPerformed
+
+  private void LOBSTERLabelMouseClicked(java.awt.event.MouseEvent evt)//GEN-FIRST:event_LOBSTERLabelMouseClicked
+  {//GEN-HEADEREND:event_LOBSTERLabelMouseClicked
+    openFileContent(Configuration.LOBSTERBGS);
+  }//GEN-LAST:event_LOBSTERLabelMouseClicked
+
   // Variables declaration - do not modify//GEN-BEGIN:variables
   private javax.swing.JCheckBox GMGCheckBox;
   private javax.swing.JLabel GMGLabel;
+  private javax.swing.JCheckBox IMBSCheckBox;
+  private javax.swing.JLabel IMBSLabel;
+  private javax.swing.JCheckBox KDECheckBox;
+  private javax.swing.JLabel KDELabel;
+  private javax.swing.JCheckBox LOBSTERCheckBox;
+  private javax.swing.JLabel LOBSTERLabel;
+  private javax.swing.JCheckBox MultiCueCheckBox;
+  private javax.swing.JLabel MultiCueLabel;
   private javax.swing.JCheckBox ROIdefinedCheckBox;
+  private javax.swing.JCheckBox SigmaDeltaCheckBox;
+  private javax.swing.JLabel SigmaDeltaLabel;
+  private javax.swing.JCheckBox SuBSENSECheckBox;
+  private javax.swing.JLabel SuBSENSELabel;
   private javax.swing.JCheckBox T2FGMMUMCheckBox;
   private javax.swing.JLabel T2FGMMUMLabel;
   private javax.swing.JCheckBox T2FGMMUVCheckBox;
diff --git a/vs2010/README.txt b/vs2010/README.txt
index 2c931b86b8cb4652127d8442fcf07f086f2040d8..b11b54d6a93905033fd0e70f70f6c9a978ce66cd 100644
--- a/vs2010/README.txt
+++ b/vs2010/README.txt
@@ -1,12 +1,12 @@
 VISUAL STUDIO 2010 TEMPLATE PROJECT
 -----------------------------------
-Release|Win32
+Change to [Release][Win32]
 
 COMPATIBLE WITH:
   VISUAL STUDIO 2012
   VISUAL STUDIO 2013
 
 YOU NEEDS TO INSTALL OPENCV AT:
-  C:\OpenCV2.4.9
+  C:\OpenCV2.4.10
 
 BUILD AND RUN!
\ No newline at end of file
diff --git a/vs2010/bgslibrary.vcxproj b/vs2010/bgslibrary.vcxproj
index 59a6a54a6f56d04955aa6503ab6e504aede7e6f6..5d02a4a1033f51c04d05471ea96ddae78fa814e8 100644
--- a/vs2010/bgslibrary.vcxproj
+++ b/vs2010/bgslibrary.vcxproj
@@ -102,7 +102,7 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>C:\OpenCV2.4.9\build\include;C:\OpenCV2.4.9\build\include\opencv;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>C:\OpenCV2.4.10\build\include;C:\OpenCV2.4.10\build\include\opencv;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
     </ClCompile>
     <Link>
@@ -110,7 +110,7 @@
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>C:\OpenCV2.4.9\build\x86\vc10\staticlib\*.lib;comctl32.lib;VFW32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>C:\OpenCV2.4.10\build\x86\vc10\staticlib\*.lib;comctl32.lib;VFW32.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDemo|Win32'">
@@ -122,7 +122,7 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>C:\OpenCV2.4.9\build\include;C:\OpenCV2.4.9\build\include\opencv;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>C:\OpenCV2.4.10\build\include;C:\OpenCV2.4.10\build\include\opencv;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
     </ClCompile>
     <Link>
@@ -130,7 +130,7 @@
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>C:\OpenCV2.4.9\build\x86\vc10\staticlib\*.lib;comctl32.lib;VFW32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>C:\OpenCV2.4.10\build\x86\vc10\staticlib\*.lib;comctl32.lib;VFW32.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDemo2|Win32'">
@@ -142,7 +142,7 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>C:\OpenCV2.4.9\build\include;C:\OpenCV2.4.9\build\include\opencv;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>C:\OpenCV2.4.10\build\include;C:\OpenCV2.4.10\build\include\opencv;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
     </ClCompile>
     <Link>
@@ -150,7 +150,7 @@
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>C:\OpenCV2.4.9\build\x86\vc10\staticlib\*.lib;comctl32.lib;VFW32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>C:\OpenCV2.4.10\build\x86\vc10\staticlib\*.lib;comctl32.lib;VFW32.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>