diff --git a/AMDiS/src/VtkWriter.cc b/AMDiS/src/VtkWriter.cc
index 885c53e3377b2fe232ccc5468f2283f2cb540b92..c2f06d658693603694e7223e9bf612aca128b1a8 100644
--- a/AMDiS/src/VtkWriter.cc
+++ b/AMDiS/src/VtkWriter.cc
@@ -137,7 +137,7 @@ namespace AMDiS {
 	DataCollector dc(values->getFESpace(), values);
 	std::vector<DataCollector*> dcList(0);
 	dcList.push_back(&dc);
-	VtkWriter::writeFile(dcList,filename,writeParallel);
+	writeFile(dcList,filename,writeParallel);
   };
 
   void VtkWriter::writeFile(std::vector<DOFVector<double>* > &values,
@@ -148,22 +148,50 @@ namespace AMDiS {
 	for(unsigned i=0; i<values.size(); ++i) {
 		dcList.push_back(new DataCollector(values[i]->getFESpace(), values[i]));
 	}
-	VtkWriter::writeFile(dcList,filename,writeParallel);
+	writeFile(dcList,filename,writeParallel);
 	for(unsigned i=0; i<values.size(); ++i) {
     		delete dcList[i];
 	}
   };
 
+  void VtkWriter::writeFile(WorldVector<DOFVector<double>* > &values,
+				std::string filename,
+				bool writeParallel)
+  {
+	std::vector<DataCollector*> dcList(0);
+	for(unsigned i=0; i<static_cast<unsigned>(values.getSize()); ++i) {
+		dcList.push_back(new DataCollector(values[i]->getFESpace(), values[i]));
+	}
+	writeFile(dcList,filename,writeParallel);
+	for(unsigned i=0; i<static_cast<unsigned>(values.getSize()); ++i) {
+    		delete dcList[i];
+	}
+  };
+
+  void VtkWriter::writeFile(DOFVector<WorldVector<double> > *values,
+				std::string filename,
+				bool writeParallel)
+  {
+	WorldVector<DOFVector<double>*> valuesWV;
+	for(unsigned i=0; i<static_cast<unsigned>(valuesWV.getSize()); ++i)
+		valuesWV[i] = new DOFVector<double>(values->getFESpace(), "valuesWV_i");
+	transform(values, &valuesWV);
+	writeFile(valuesWV,filename,writeParallel);
+	for(unsigned i=0; i<static_cast<unsigned>(valuesWV.getSize()); ++i) {
+    		delete valuesWV[i];
+	}
+  };
+
   void VtkWriter::writeFile(SystemVector *values, 
 				std::string filename,
 				bool writeParallel)
   {
 	std::vector<DataCollector*> dcList(0);
-	for(unsigned i=0; i<values->getSize(); ++i) {
+	for(unsigned i=0; i<static_cast<unsigned>(values->getSize()); ++i) {
 		dcList.push_back(new DataCollector(values->getDOFVector(i)->getFESpace(), values->getDOFVector(i)));
 	}
-	VtkWriter::writeFile(dcList,filename,writeParallel);
-	for(unsigned i=0; i<dcList.size(); ++i) {
+	writeFile(dcList,filename,writeParallel);
+	for(unsigned i=0; i<static_cast<unsigned>(dcList.size()); ++i) {
     		delete dcList[i];
 	}
   };
diff --git a/AMDiS/src/VtkWriter.h b/AMDiS/src/VtkWriter.h
index 52ef3184f29e3ede98e4e2d62cea690a50740819..f89271c38c9a6e71f4a69b7b0d25d3a2e9bc2698 100644
--- a/AMDiS/src/VtkWriter.h
+++ b/AMDiS/src/VtkWriter.h
@@ -72,6 +72,17 @@ namespace AMDiS {
     static void writeFile(std::vector<DOFVector<double>*> &values,
 			  std::string filename, 
 			  bool writeParallel = true);
+    static void writeFile(WorldVector<DOFVector<double>*> &values,
+			  std::string filename, 
+			  bool writeParallel = true);
+    static void writeFile(DOFVector<WorldVector<double> > *values,
+			  std::string filename, 
+			  bool writeParallel = true);
+    static void writeFile(DOFVector<WorldVector<double> > &values,
+			  std::string filename, 
+			  bool writeParallel = true) {
+      writeFile(&values, filename, writeParallel);
+    }
     static void writeFile(SystemVector *values,
 			  std::string filename, 
 			  bool writeParallel = true);