//fixing input parameters
   std::vector<std::string> words;
 
-  CDMUtilities::splitter::split(words,name," ",CDMUtilities::splitter::no_empties);
+  CDMUtilities::splitter::split(words,name," '/\"\\,.",CDMUtilities::splitter::no_empties);
   std::string nameFixed = "";
   for (int i = 0; i < (int)(words.size()); i++)
     {
     }
 
   words.clear();
-  CDMUtilities::splitter::split(words,authors," ",CDMUtilities::splitter::no_empties);
+  CDMUtilities::splitter::split(words,authors," '/\"\\,.",CDMUtilities::splitter::no_empties);
   std::string authorFixed;
   for (int i = 0; i < (int)(words.size()); i++)
     {
 
   words.clear();
   std::string descriptionFixed;
-  CDMUtilities::splitter::split(words,authorsEmail," ",CDMUtilities::splitter::no_empties);
+  CDMUtilities::splitter::split(words,authorsEmail," '/\"\\,",CDMUtilities::splitter::no_empties);
   for (int i = 0; i < (int)(words.size()); i++)
     {
-      descriptionFixed += words[i];
+      descriptionFixed += words[i] + "/";
     }
   words.clear();
-  CDMUtilities::splitter::split(words,description," ",CDMUtilities::splitter::no_empties);
+  CDMUtilities::splitter::split(words,description," '\"",CDMUtilities::splitter::no_empties);
   for (int i = 0; i < (int)(words.size()); i++)
     {
       descriptionFixed += "_" + words[i];
 
 
 const wxString wxCDMNewBlackBoxDialog::GetBlackBoxType() const
 {
-  return this->blackBoxType->GetString(this->blackBoxType->GetCurrentSelection());
+  wxString res;
+  switch(this->blackBoxType->GetCurrentSelection())
+  {
+  case 0:
+    res = wxT("std");
+    break;
+  case 1:
+    res = wxT("widget");
+    break;
+  case 2:
+#ifdef _WIN32
+       res = wxT("VTK_ImageAlgorithm");
+#else
+    res = wxT("VTK-ImageAlgorithm");
+#endif
+    break;
+  case 3:
+#ifdef _WIN32
+       res = wxT("VTK_PolyDataAlgorithm");
+#else
+    res = wxT("VTK-PolyAlgorithm");
+#endif
+    break;
+  default:
+         res = wxT("std");
+  }
+  return res;
 }
 
 const wxString wxCDMNewBlackBoxDialog::GetBlackBoxFormat() const
 {
-  return this->blackBoxFormat->GetString(this->blackBoxFormat->GetCurrentSelection());
+  wxString res;
+  switch(this->blackBoxFormat->GetCurrentSelection())
+  {
+  case 0:
+    res = wxT("C++");
+    break;
+  case 1:
+    res = wxT("XML");
+    break;
+  default:
+         res = wxT("C++");
+  }
+  return res;
 }
 
 void wxCDMNewBlackBoxDialog::CreateControls()
   this->blackBoxCategories = new wxTextCtrl(this, -1);
   wxString BBTypes[] =
       {
-          wxT("std"),
-          wxT("VTK-ImageAlgorithm"),
-          wxT("VTK-PolyAlgorithm"),
-          wxT("widget")
+          wxT("Basic - AtomicBlackBox"),
+                 wxT("Widget - WxBlackBox"),
+          wxT("VTK ImageAlgorithm - Basic and vtkImageAlgorithm (standard vtk I/O)"),
+          wxT("VTK PolyDataAlgorithm - Basic and vtkPolyDataAlgorithm (standard vtk I/O)")
       };
   this->blackBoxType = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 4, BBTypes);