Index: /issm/trunk-jpl/src/c/Container/DataSet.cpp
===================================================================
--- /issm/trunk-jpl/src/c/Container/DataSet.cpp	(revision 14956)
+++ /issm/trunk-jpl/src/c/Container/DataSet.cpp	(revision 14957)
@@ -286,29 +286,2 @@
 	return 1;
 }/*}}}*/
-template <class doubletype> DataSet* ExpRead(char* domainname){ /*{{{*/
-
-	/*intermediary: */
-	int                  nprof;
-	int                 *profnvertices = NULL;
-	doubletype         **pprofx        = NULL;
-	doubletype         **pprofy        = NULL;
-
-	/*output: */
-	DataSet *domain = NULL;
-
-	/*If domainname is an empty string, return empty dataset*/
-	if (strcmp(domainname,"")==0){
-		nprof=0;
-	}
-	else{
-		ExpRead(&nprof,&profnvertices,&pprofx, &pprofy, NULL,domainname);
-	}
-
-	/*now create dataset of contours: */
-	domain=new DataSet(0);
-
-	for(int i=0;i<nprof;i++){
-		domain->AddObject(new Contour<doubletype>(i,profnvertices[i],pprofx[i],pprofy[i],1));
-	}
-	return domain;
-} /*}}}*/
Index: /issm/trunk-jpl/src/c/Container/DataSet.h
===================================================================
--- /issm/trunk-jpl/src/c/Container/DataSet.h	(revision 14956)
+++ /issm/trunk-jpl/src/c/Container/DataSet.h	(revision 14957)
@@ -3,4 +3,6 @@
 
 #include <vector>
+#include <cstring>
+#include "../classes/objects/Contour.h"
 
 /*forward declarations */
@@ -62,5 +64,31 @@
 /*Methods that relate to datasets: */
 int ExpWrite(DataSet* contours,char* domainname);
-template <class doubletype> DataSet* ExpRead(char* domainname);
+template <class doubletype> DataSet* ExpRead(char* domainname){ /*{{{*/
+
+	/*intermediary: */
+	int                  nprof;
+	int                 *profnvertices = NULL;
+	doubletype         **pprofx        = NULL;
+	doubletype         **pprofy        = NULL;
+
+	/*output: */
+	DataSet *domain = NULL;
+
+	/*If domainname is an empty string, return empty dataset*/
+	if (strcmp(domainname,"")==0){
+		nprof=0;
+	}
+	else{
+		ExpRead(&nprof,&profnvertices,&pprofx, &pprofy, NULL,domainname);
+	}
+
+	/*now create dataset of contours: */
+	domain=new DataSet(0);
+
+	for(int i=0;i<nprof;i++){
+		domain->AddObject(new Contour<doubletype>(i,profnvertices[i],pprofx[i],pprofy[i],1));
+	}
+	return domain;
+} /*}}}*/
 
 #endif
Index: /issm/trunk-jpl/src/c/Container/Parameters.h
===================================================================
--- /issm/trunk-jpl/src/c/Container/Parameters.h	(revision 14956)
+++ /issm/trunk-jpl/src/c/Container/Parameters.h	(revision 14957)
@@ -12,6 +12,6 @@
 class Loads;
 class Nodes;
-class DataSet;
 class Inputs;
+#include "./DataSet.h"
 #include "../shared/Numerics/types.h"
 
Index: /issm/trunk-jpl/src/c/toolkits/mpi/mpiincludes.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/mpi/mpiincludes.h	(revision 14956)
+++ /issm/trunk-jpl/src/c/toolkits/mpi/mpiincludes.h	(revision 14957)
@@ -6,4 +6,12 @@
 #define _MPI_INCLUDES_H_
 
+#ifdef HAVE_CONFIG_H
+	#include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#ifdef _HAVE_MPI_
+
 /*MPI includes: */
 #include <mpi.h>
@@ -11,4 +19,5 @@
 /*Patches: */
 #include "./patches/mpipatches.h"
+#endif
 
 #endif
Index: /issm/trunk-jpl/src/wrappers/matlab/io/FetchMatlabData.cpp
===================================================================
--- /issm/trunk-jpl/src/wrappers/matlab/io/FetchMatlabData.cpp	(revision 14956)
+++ /issm/trunk-jpl/src/wrappers/matlab/io/FetchMatlabData.cpp	(revision 14957)
@@ -10,4 +10,5 @@
 
 #include "./matlabio.h"
+#include "../../c/Container/Container.h"
 #include "../../c/shared/shared.h"
 
