Index: src/UIElements/Query/AtomQuery.cpp
===================================================================
--- src/UIElements/Query/AtomQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/AtomQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -23,7 +23,7 @@
 
 // Atom Queries
-Dialog::AtomQuery::AtomQuery(std::string title, std::string _description) :
+Dialog::AtomQuery::AtomQuery(Parameter<const atom *> &param, std::string title, std::string _description) :
     Query(title, _description),
-    tmp(0)
+    tmp(param)
 {}
 
@@ -31,5 +31,5 @@
 
 void Dialog::AtomQuery::setResult() {
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/AtomsQuery.cpp
===================================================================
--- src/UIElements/Query/AtomsQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/AtomsQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,7 +24,7 @@
 
 // Atoms Queries
-Dialog::AtomsQuery::AtomsQuery(std::string title, std::string _description) :
+Dialog::AtomsQuery::AtomsQuery(Parameter<std::vector<const atom *> > &param, std::string title, std::string _description) :
     Query(title, _description),
-    tmp(0)
+    tmp(param)
 {}
 
@@ -32,5 +32,5 @@
 
 void Dialog::AtomsQuery::setResult() {
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/BooleanQuery.cpp
===================================================================
--- src/UIElements/Query/BooleanQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/BooleanQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,7 +24,7 @@
 
 // Bool Queries
-Dialog::BooleanQuery::BooleanQuery(std::string title,std::string description) :
+Dialog::BooleanQuery::BooleanQuery(Parameter<bool> &param, std::string title,std::string description) :
     Query(title, description),
-    tmp(false)
+    tmp(param)
 {}
 
@@ -32,5 +32,5 @@
 
 void Dialog::BooleanQuery::setResult() {
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/BoxQuery.cpp
===================================================================
--- src/UIElements/Query/BoxQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ 	(revision )
@@ -1,36 +1,0 @@
-/*
- * Project: MoleCuilder
- * Description: creates and alters molecular systems
- * Copyright (C)  2010-2012 University of Bonn. All rights reserved.
- * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
- */
-
-/*
- * BoxQuery.cpp
- *
- *  Created on: Oct 25, 2010
- *      Author: heber
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "CodePatterns/MemDebug.hpp"
-
-#include "Dialog.hpp"
-#include "Actions/ValueStorage.hpp"
-
-
-// Box Queries
-Dialog::BoxQuery::BoxQuery(std::string title, std::string _description) :
-  Query(title, _description)
-{}
-
-Dialog::BoxQuery::~BoxQuery()
-{}
-
-void Dialog::BoxQuery::setResult() {
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
-}
-
Index: src/UIElements/Query/DoubleQuery.cpp
===================================================================
--- src/UIElements/Query/DoubleQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/DoubleQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,7 +24,7 @@
 
 // Double Queries
-Dialog::DoubleQuery::DoubleQuery(std::string title, std::string _description) :
+Dialog::DoubleQuery::DoubleQuery(Parameter<double> &param, std::string title, std::string _description) :
     Query(title, _description),
-    tmp(0)
+    tmp(param)
 {}
 
@@ -32,5 +32,5 @@
 
 void Dialog::DoubleQuery::setResult() {
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/DoublesQuery.cpp
===================================================================
--- src/UIElements/Query/DoublesQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/DoublesQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,6 +24,7 @@
 
 // Doubles Queries
-Dialog::DoublesQuery::DoublesQuery(std::string title, std::string _description) :
-    Query(title, _description)
+Dialog::DoublesQuery::DoublesQuery(Parameter<std::vector<double> > &param, std::string title, std::string _description) :
+    Query(title, _description),
+    tmp(param)
 {}
 
@@ -31,5 +32,5 @@
 
 void Dialog::DoublesQuery::setResult() {
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/ElementQuery.cpp
===================================================================
--- src/UIElements/Query/ElementQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/ElementQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,6 +24,7 @@
 
 // Element Queries
-Dialog::ElementQuery::ElementQuery(std::string title, std::string _description) :
-  Query(title, _description)
+Dialog::ElementQuery::ElementQuery(Parameter<const element *> &param, std::string title, std::string _description) :
+  Query(title, _description),
+  tmp(param)
   {}
 
@@ -31,5 +32,5 @@
 
 void Dialog::ElementQuery::setResult(){
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/ElementsQuery.cpp
===================================================================
--- src/UIElements/Query/ElementsQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/ElementsQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,6 +24,7 @@
 
 // Elements Queries
-Dialog::ElementsQuery::ElementsQuery(std::string title, std::string _description) :
-  Query(title, _description)
+Dialog::ElementsQuery::ElementsQuery(Parameter<std::vector<const element *> > &param, std::string title, std::string _description) :
+  Query(title, _description),
+  tmp(param)
   {}
 
@@ -31,5 +32,5 @@
 
 void Dialog::ElementsQuery::setResult(){
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/FileQuery.cpp
===================================================================
--- src/UIElements/Query/FileQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/FileQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,6 +24,7 @@
 
 // File Queries
-Dialog::FileQuery::FileQuery(std::string title, std::string _description) :
-  Query(title, _description)
+Dialog::FileQuery::FileQuery(Parameter<boost::filesystem::path> &param, std::string title, std::string _description) :
+  Query(title, _description),
+  tmp(param)
   {}
 
@@ -31,5 +32,5 @@
 
 void Dialog::FileQuery::setResult(){
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/FilesQuery.cpp
===================================================================
--- src/UIElements/Query/FilesQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/FilesQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,6 +24,7 @@
 
 // File Queries
-Dialog::FilesQuery::FilesQuery(std::string title, std::string _description) :
-  Query(title, _description)
+Dialog::FilesQuery::FilesQuery(Parameter<std::vector< boost::filesystem::path> > &param, std::string title, std::string _description) :
+  Query(title, _description),
+  tmp(param)
   {}
 
@@ -31,5 +32,5 @@
 
 void Dialog::FilesQuery::setResult(){
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/IntQuery.cpp
===================================================================
--- src/UIElements/Query/IntQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/IntQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,7 +24,7 @@
 
 // Int Queries
-Dialog::IntQuery::IntQuery(std::string title, std::string description) :
+Dialog::IntQuery::IntQuery(Parameter<int> &param, std::string title, std::string description) :
     Query(title, description),
-    tmp(0)
+    tmp(param)
 {}
 
@@ -32,5 +32,5 @@
 
 void Dialog::IntQuery::setResult() {
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/IntsQuery.cpp
===================================================================
--- src/UIElements/Query/IntsQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/IntsQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,6 +24,7 @@
 
 // Ints Queries
-Dialog::IntsQuery::IntsQuery(std::string title, std::string description) :
-    Query(title, description)
+Dialog::IntsQuery::IntsQuery(Parameter<std::vector<int> > &param, std::string title, std::string description) :
+    Query(title, description),
+    tmp(param)
 {}
 
@@ -31,5 +32,5 @@
 
 void Dialog::IntsQuery::setResult() {
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/MoleculeQuery.cpp
===================================================================
--- src/UIElements/Query/MoleculeQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/MoleculeQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,7 +24,7 @@
 
 // Molecule Queries
-Dialog::MoleculeQuery::MoleculeQuery(std::string title, std::string _description) :
+Dialog::MoleculeQuery::MoleculeQuery(Parameter<const molecule *> &param, std::string title, std::string _description) :
     Query(title, _description),
-    tmp(0)
+    tmp(param)
 {}
 
@@ -32,5 +32,5 @@
 
 void Dialog::MoleculeQuery::setResult() {
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/MoleculesQuery.cpp
===================================================================
--- src/UIElements/Query/MoleculesQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/MoleculesQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,7 +24,7 @@
 
 // Molecules Queries
-Dialog::MoleculesQuery::MoleculesQuery(std::string title, std::string _description) :
+Dialog::MoleculesQuery::MoleculesQuery(Parameter<std::vector<const molecule *> > &param, std::string title, std::string _description) :
     Query(title, _description),
-    tmp(0)
+    tmp(param)
 {}
 
@@ -32,5 +32,5 @@
 
 void Dialog::MoleculesQuery::setResult() {
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/RandomNumberDistribution_ParametersQuery.cpp
===================================================================
--- src/UIElements/Query/RandomNumberDistribution_ParametersQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/RandomNumberDistribution_ParametersQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -23,6 +23,7 @@
 
 // RandomNumberDistribution_Parameters Queries
-Dialog::RandomNumberDistribution_ParametersQuery::RandomNumberDistribution_ParametersQuery(std::string title, std::string _description) :
-    Query(title, _description)
+Dialog::RandomNumberDistribution_ParametersQuery::RandomNumberDistribution_ParametersQuery(Parameter<RandomNumberDistribution_Parameters> &param, std::string title, std::string _description) :
+    Query(title, _description),
+    tmp(param)
 {}
 
@@ -30,5 +31,5 @@
 
 void Dialog::RandomNumberDistribution_ParametersQuery::setResult() {
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/RealSpaceMatrixQuery.cpp
===================================================================
--- src/UIElements/Query/RealSpaceMatrixQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
+++ src/UIElements/Query/RealSpaceMatrixQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -0,0 +1,37 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2010-2012 University of Bonn. All rights reserved.
+ * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
+ */
+
+/*
+ * BoxQuery.cpp
+ *
+ *  Created on: Oct 25, 2010
+ *      Author: heber
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "CodePatterns/MemDebug.hpp"
+
+#include "Dialog.hpp"
+#include "Actions/ValueStorage.hpp"
+
+
+// Box Queries
+Dialog::RealSpaceMatrixQuery::RealSpaceMatrixQuery(Parameter<RealSpaceMatrix> &param, std::string title, std::string _description) :
+  Query(title, _description),
+  tmp(param)
+{}
+
+Dialog::RealSpaceMatrixQuery::~RealSpaceMatrixQuery()
+{}
+
+void Dialog::RealSpaceMatrixQuery::setResult() {
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+}
+
Index: src/UIElements/Query/StringQuery.cpp
===================================================================
--- src/UIElements/Query/StringQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/StringQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,6 +24,7 @@
 
 // String Queries
-Dialog::StringQuery::StringQuery(std::string title,std::string _description) :
-    Query(title, _description)
+Dialog::StringQuery::StringQuery(Parameter<std::string> &param, std::string title,std::string _description) :
+    Query(title, _description),
+    tmp(param)
 {}
 
@@ -31,5 +32,5 @@
 
 void Dialog::StringQuery::setResult() {
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/StringsQuery.cpp
===================================================================
--- src/UIElements/Query/StringsQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/StringsQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,6 +24,7 @@
 
 // Strings Queries
-Dialog::StringsQuery::StringsQuery(std::string title,std::string _description) :
-    Query(title, _description)
+Dialog::StringsQuery::StringsQuery(Parameter<std::vector<std::string> > &param, std::string title,std::string _description) :
+    Query(title, _description),
+    tmp(param)
 {}
 
@@ -31,5 +32,5 @@
 
 void Dialog::StringsQuery::setResult() {
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/UnsignedIntQuery.cpp
===================================================================
--- src/UIElements/Query/UnsignedIntQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/UnsignedIntQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,7 +24,7 @@
 
 // UnsignedInt Queries
-Dialog::UnsignedIntQuery::UnsignedIntQuery(std::string title, std::string description) :
+Dialog::UnsignedIntQuery::UnsignedIntQuery(Parameter<unsigned int> &param, std::string title, std::string description) :
     Query(title, description),
-    tmp(0)
+    tmp(param)
 {}
 
@@ -32,5 +32,5 @@
 
 void Dialog::UnsignedIntQuery::setResult() {
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/UnsignedIntsQuery.cpp
===================================================================
--- src/UIElements/Query/UnsignedIntsQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/UnsignedIntsQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,6 +24,7 @@
 
 // UnsignedInts Queries
-Dialog::UnsignedIntsQuery::UnsignedIntsQuery(std::string title, std::string description) :
-    Query(title, description)
+Dialog::UnsignedIntsQuery::UnsignedIntsQuery(Parameter<std::vector<unsigned int> > &param, std::string title, std::string description) :
+    Query(title, description),
+    tmp(param)
 {}
 
@@ -31,5 +32,5 @@
 
 void Dialog::UnsignedIntsQuery::setResult() {
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/VectorQuery.cpp
===================================================================
--- src/UIElements/Query/VectorQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/VectorQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,6 +24,7 @@
 
 // Vector Queries
-Dialog::VectorQuery::VectorQuery(std::string title,bool _check, std::string _description) :
+Dialog::VectorQuery::VectorQuery(Parameter<Vector> &param, std::string title,bool _check, std::string _description) :
   Query(title, _description),
+  tmp(param),
   check(_check)
 {}
@@ -33,5 +34,5 @@
 
 void Dialog::VectorQuery::setResult() {
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
Index: src/UIElements/Query/VectorsQuery.cpp
===================================================================
--- src/UIElements/Query/VectorsQuery.cpp	(revision 2c5765fc2598fb70685cc0ead59e118f3df88b1c)
+++ src/UIElements/Query/VectorsQuery.cpp	(revision 8a4b88626f69e80cb6fd4391cb051f4a17d8a519)
@@ -24,6 +24,7 @@
 
 // Vectors Queries
-Dialog::VectorsQuery::VectorsQuery(std::string title,bool _check, std::string _description) :
+Dialog::VectorsQuery::VectorsQuery(Parameter<std::vector<Vector> > &param, std::string title,bool _check, std::string _description) :
   Query(title, _description),
+  tmp(param),
   check(_check)
 {}
@@ -33,5 +34,5 @@
 
 void Dialog::VectorsQuery::setResult() {
-  ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
+  //ValueStorage::getInstance().setCurrentValue(title.c_str(), tmp);
 }
 
