diff --git a/chaos/common/configuration/GlobalConfiguration.cpp b/chaos/common/configuration/GlobalConfiguration.cpp
index cf4a4ed202ec0daa8c41ddfeb27710e21d1cc24c..98f4dcfe0d9357cb4dfeec853afd86c1fa6049ab 100644
--- a/chaos/common/configuration/GlobalConfiguration.cpp
+++ b/chaos/common/configuration/GlobalConfiguration.cpp
@@ -449,7 +449,7 @@ void GlobalConfiguration::fillKVParameter(std::map<std::string, std::string>& kv
         
         const std::string& kv_param_value = *it;
         
-        if(regex.size() &&
+        if(regex.size() &&kv_param_value.size()&&
            !boost::regex_match(kv_param_value,
                                boost::regex(regex))) {
                std::stringstream ss;
diff --git a/chaos_service_common/ChaosManager.cpp b/chaos_service_common/ChaosManager.cpp
index 266cb06f875f660dce793649cc8e11b5c350d398..857033faa2916a1b261a9d638409a8b7aae30da0 100644
--- a/chaos_service_common/ChaosManager.cpp
+++ b/chaos_service_common/ChaosManager.cpp
@@ -19,6 +19,7 @@
 #include <ChaosMetadataService/api/unit_server/GetSetFullUnitServer.h>
 #include <ChaosMetadataService/api/unit_server/LoadUnloadControlUnit.h>
 #include <ChaosMetadataService/api/unit_server/ManageCUType.h>
+#include <ChaosMetadataService/api/unit_server/NewUS.h>
 
 #include <ChaosMetadataService/api/agent/CheckAgentHostedProcess.h>
 #include <ChaosMetadataService/api/agent/GetAgentForNode.h>
@@ -1071,6 +1072,22 @@ chaos::common::data::CDWUniquePtr ChaosManager::nodeDelete(const std::string& ui
   }
   return res;
 }
+chaos::common::data::CDWUniquePtr ChaosManager::newUS(const std::string& uid,const std::string&desc){
+CDWUniquePtr res;
+  if (persistence_driver) {
+    NewUS node;
+    CALC_EXEC_START;
+    ChaosUniquePtr<chaos::common::data::CDataWrapper> message(new CDataWrapper());
+    
+    message->addStringValue(chaos::NodeDefinitionKey::NODE_UNIQUE_ID, uid);
+    message->addStringValue(NodeDefinitionKey::NODE_DESC, desc);
+
+    res = node.execute(MOVE(message));
+    CALC_EXEC_END
+  }
+    return res;
+
+}
 
 chaos::common::data::CDWUniquePtr ChaosManager::nodeNew(const std::string& uid, const chaos::common::data::CDataWrapper& value, const std::string parent) {
   CDWUniquePtr res;
diff --git a/chaos_service_common/ChaosManager.h b/chaos_service_common/ChaosManager.h
index cd36b54a44886f0303fa8c93fc0e66d60aa28372..b55a37d3d27c488ff0e53b0831e3bca22afdc6b4 100644
--- a/chaos_service_common/ChaosManager.h
+++ b/chaos_service_common/ChaosManager.h
@@ -84,6 +84,8 @@ chaos::common::data::CDWUniquePtr setVariable(const std::string& uid,const chaos
 chaos::common::data::CDWUniquePtr removeVariable(const std::string& uid);
 chaos::common::data::CDWUniquePtr nodeDelete(const std::string& uid,const std::string parent="");
 chaos::common::data::CDWUniquePtr nodeNew(const std::string& uid,const chaos::common::data::CDataWrapper& value,const std::string parent="");
+chaos::common::data::CDWUniquePtr newUS(const std::string& uid,const std::string& desc="US");
+
 chaos::common::data::CDWUniquePtr getFullUnitServer(const std::string& uid);
 chaos::common::data::CDWUniquePtr setFullUnitServer(const std::string& uid,const chaos::common::data::CDataWrapper& value);
 chaos::common::data::CDWUniquePtr getAgentForNode(const std::string& uid);
@@ -91,6 +93,7 @@ chaos::common::data::CDWUniquePtr updateProperty(const std::string& uid,const ch
 chaos::common::data::CDWUniquePtr manageCUType(const std::string& uid,const std::string& implname,int op=0);
 chaos::common::data::CDWUniquePtr setInstanceDescription(const std::string& uid,const chaos::common::data::CDataWrapper& value);
 chaos::common::data::CDWUniquePtr deleteInstance(const std::string& uid,const std::string&parent);
+
 chaos::common::data::CDWUniquePtr getCUInstance(const std::string& uid);
 chaos::common::data::CDWUniquePtr startStop(const std::string& uid,bool start);
 chaos::common::data::CDWUniquePtr initDeinit(const std::string& uid,bool ini);