diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0a25bef78c37c7c04e28a6e43035a6400fb51a9a..d78a121125795a6b53dcad2bd6326b58956723f1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -411,6 +411,7 @@ SET(HDRS_DTASSC
   include/base/association/association_node.h
   include/base/association/association_tree.h
   include/base/association/association_nnls.h
+  include/base/association/matrix.h
   )
 
 SET(HDRS_CORE
diff --git a/wolf_scripts/create_plugin.sh b/wolf_scripts/create_plugin.sh
index 65e4ba2bd2a90fb6033b0e34893f84c07b0bdfb7..b1ca42f945f7f559a70e43377412faa8e6d4ec9c 100755
--- a/wolf_scripts/create_plugin.sh
+++ b/wolf_scripts/create_plugin.sh
@@ -2,18 +2,31 @@
 # $1 path to the root of the plugin
 # $2 name of the plugin
 # $3 files to be moved
-# Create the target directory
-# if [ -d $1 ];
+
+#Generate the necessary dirs
+# if [ ! -d $1 ];
 # then
-#     rm -rf $1
+#     mkdir $1
 # fi
 
-#Generate the necessary dirs
-if [ ! -d $1/include/$2 ];
+# if [ ! -d $1/include/$2 ];
+# then
+#     # mkdir $1/include
+#     mkdir $1/include/$2
+# fi
+# if [ ! -d $1/src ];
+# then
+#     mkdir $1/src
+# fi
+root_dir=$(echo $1 | rev | cut -d '/' -f 2- | rev)
+if [ ! -d $root_dir/$2 ];
 then
-    mkdir $1/include/$2
+    cp -a ../Skeleton $root_dir
+    mv $root_dir/Skeleton $root_dir/$2
+    mv $root_dir/$2/include/skeleton $root_dir/$2/include/$2
 fi
-for folder in capture constraint feature landmark processor sensor ; do
+
+for folder in capture factor feature landmark processor sensor yaml ; do
     if [ ! -d $1/include/$2/$folder ];
     then
         mkdir $1/include/$2/$folder
@@ -32,17 +45,38 @@ for file in $(cat $3); do
         line=$(ag "HDRS_"${folder^^} $1/CMakeLists.txt | cut -d ':' -f 1 | head -1)
         line=$(($line + 1))
         echo $line " && " $file " && " $folder " && " $suffix
-        sed  -i ""$line"i $head/$2/$folder/$suffix" $1/CMakeLists.txt
-        cp $file $1/$head/$2/$folder/$suffix
-    else
+        if [ "$suffix" = "" ];
+        then
+            line=$(ag "HDRS_BASE" $1/CMakeLists.txt | cut -d ':' -f 1 | head -1)
+            line=$(($line + 1))
+            suffix=$folder
+            sed  -i ""$line"i $head/$2/$suffix" $1/CMakeLists.txt
+            cp $file $1/$head/$2/$suffix
+        else
+            sed  -i ""$line"i $head/$2/$folder/$suffix" $1/CMakeLists.txt
+            cp $file $1/$head/$2/$folder/$suffix
+        fi
+    elif [ "$head" = "src" ];
+    then
         folder=$(echo $file | cut -d '/' -f 2)
         suffix=$(echo $file | cut -d '/' -f 3-)
-        ag "SRCS_"$folder $1/CMakeLists.txt
+        # ag "SRCS_"$folder $1/CMakeLists.txt
         line=$(ag "SRCS_"${folder^^} $1/CMakeLists.txt | cut -d ':' -f 1 | head -1)
         line=$(($line + 1))
         echo $line " && " $file " && " $folder " && " $suffix
-        sed  -i ""$line"i $file" $1/CMakeLists.txt
-        cp $file $1/$head/$folder/$suffix
+        if [ "$suffix" = "" ];
+        then
+            line=$(ag "SRCS_BASE" $1/CMakeLists.txt | cut -d ':' -f 1 | head -1)
+            line=$(($line + 1))
+            suffix=$folder
+            sed  -i ""$line"i $file" $1/CMakeLists.txt
+            cp $file $1/$head/$suffix
+        else
+            sed  -i ""$line"i $file" $1/CMakeLists.txt
+            cp $file $1/$head/$folder/$suffix
+        fi
+    else
+        cp $file $1/$file
     fi
 done
 for f in $(cat $3); do
@@ -61,15 +95,32 @@ for f in $(cat $3); do
         then
             folder=$(echo $ff | cut -d '/' -f 3)
             suffix=$(echo $ff | cut -d '/' -f 4-)
-            new_path=$1/$head/$2/$folder/$suffix
+            if [ "$suffix" = "" ];
+            then
+                new_path=$1/$head/$2/$folder
+                sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $new_path
+            else
+                new_path=$1/$head/$2/$folder/$suffix
+                sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $new_path
+            fi
             # sed -n -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@pg" $new_path
-            sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $new_path
-        else
+            # sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $new_path
+        elif [ "$head" = "src" ];
+        then
             folder=$(echo $ff | cut -d '/' -f 2)
             suffix=$(echo $ff | cut -d '/' -f 3-)
-            new_path=$1/$head/$folder/$suffix
             # sed -n -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@pg" $new_path
-            sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $new_path
+            if [ "$suffix" = "" ];
+            then
+                new_path=$1/$head/$folder
+                sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $new_path
+            else
+                new_path=$1/$head/$folder/$suffix
+                sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $new_path
+            fi
+        else
+            # sed -n -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@pg" $new_path
+            sed -i -E "s@(#include[[:space:]]+\")base(\/$inc\")@\1$2\2@g" $1/$ff
         fi
     done
 done
\ No newline at end of file