diff --git a/alib2measurepp/src/provisioner/MeasurementProvisioner.cpp b/alib2measurepp/src/provisioner/MeasurementProvisioner.cpp
index 746c0ef761182c614533c5922ab8a9f30b8b5ef5..378464c2c3736aced3f4136a30025ee4749dbf10 100644
--- a/alib2measurepp/src/provisioner/MeasurementProvisioner.cpp
+++ b/alib2measurepp/src/provisioner/MeasurementProvisioner.cpp
@@ -62,13 +62,16 @@ MeasurementProvisionerResults MeasurementProvisioner::runConfiguration ( const M
 }
 
 void MeasurementProvisioner::prepareEnvironment ( const MeasurementProvisionerConfiguration & cfg ) {
-	list < string > binariesDirectoryExpansion = MPUtils::shellExpand ( cfg.binariesDirectory );
 
-	if ( binariesDirectoryExpansion.size ( ) != 1 )
-		throw::exception::CommonException ( "MeasurementProvisioner: binaries directory: \"" + cfg.binariesDirectory + "\" expansion failed" );
+	const string & workingDirectory = cfg.environment.workingDirectory;
 
-	if ( chdir ( binariesDirectoryExpansion.begin ( )->c_str ( ) ) != 0 )
-		throw::exception::CommonException ( "MeasurementProvisioner: chdir to binaries directory: \"" + cfg.binariesDirectory + "\" failed" );
+	list < string > workingDirectoryExpansion = MPUtils::shellExpand ( workingDirectory );
+
+	if ( workingDirectoryExpansion.size ( ) != 1 )
+		throw::exception::CommonException ( "MeasurementProvisioner: binaries directory: \"" + workingDirectory + "\" expansion failed" );
+
+	if ( chdir ( workingDirectoryExpansion.begin ( )->c_str ( ) ) != 0 )
+		throw::exception::CommonException ( "MeasurementProvisioner: chdir to binaries directory: \"" + workingDirectory + "\" failed" );
 }
 
 MPRPipelineResults MeasurementProvisioner::runPipeline ( const MPPipeline & pipeline, const MPSubstitutionMap & substitutionMap ) {
diff --git a/alib2measurepp/src/provisioner/MeasurementProvisionerConfiguration.hpp b/alib2measurepp/src/provisioner/MeasurementProvisionerConfiguration.hpp
index 5d1dafece0c6f915a9b323dd1b1b7bd3abe2f941..e0c0cb6373f684dff758e072b90d0dc114b5f86a 100644
--- a/alib2measurepp/src/provisioner/MeasurementProvisionerConfiguration.hpp
+++ b/alib2measurepp/src/provisioner/MeasurementProvisionerConfiguration.hpp
@@ -34,9 +34,12 @@ struct MPCPipelineCommand {
 
 using MPCPipeline = std::vector < MPCPipelineCommand >;
 
-struct MeasurementProvisionerConfiguration {
-	std::string binariesDirectory;
+struct MPCEnvironment {
+	std::string workingDirectory;
+};
 
+struct MeasurementProvisionerConfiguration {
+	MPCEnvironment				  environment;
 	std::vector < MPCInputBatch > inputBatches;
 	std::vector < MPCPipeline >	  pipelines;
 };
diff --git a/alib2measurepp/src/provisioner/MeasurementProvisionerConfigurationXml.cpp b/alib2measurepp/src/provisioner/MeasurementProvisionerConfigurationXml.cpp
index f20577c8d58d9649dd96fef8c20938ab80ab6af8..da761555d423b74bf52f3ad306fe1d7ac0e8b615 100644
--- a/alib2measurepp/src/provisioner/MeasurementProvisionerConfigurationXml.cpp
+++ b/alib2measurepp/src/provisioner/MeasurementProvisionerConfigurationXml.cpp
@@ -33,39 +33,37 @@ void MeasurementProvisionerConfigurationXml::parseMeasurementProvisioner ( Measu
 
 		string data = FromXMLParserHelper::getTokenData ( iter, Token::TokenType::START_ELEMENT );
 
-		if ( data == BINARIES_DIRECTORY_TAG ) {
-			FromXMLParserHelper::popToken ( iter, Token::TokenType::START_ELEMENT, BINARIES_DIRECTORY_TAG );
-			mpc.binariesDirectory = FromXMLParserHelper::popTokenData ( iter, Token::TokenType::CHARACTER );
-			FromXMLParserHelper::popToken ( iter, Token::TokenType::END_ELEMENT, BINARIES_DIRECTORY_TAG );
-		} else if ( data == MEASUREMENT_PROVISION_TAG ) {
-			parseMeasurementProvision ( mpc, iter );
-		} else {
+		if ( data == ENVIRONMENT_TAG )
+			parseEnvironment ( mpc, iter );
+		else if ( data == INPUT_DATA_TAG )
+			parseInputData ( mpc, iter );
+		else if ( data == PIPELINES_TAG )
+			parsePipelines ( mpc, iter );
+		else
 			break;
-		}
 	}
 
 	FromXMLParserHelper::popToken ( iter, Token::TokenType::END_ELEMENT, MEASUREMENT_PROVISIONER_TAG );
 }
 
-void MeasurementProvisionerConfigurationXml::parseMeasurementProvision ( MeasurementProvisionerConfiguration & mpc, std::deque < sax::Token >::iterator & iter ) {
-	FromXMLParserHelper::popToken ( iter, Token::TokenType::START_ELEMENT, MEASUREMENT_PROVISION_TAG );
+void MeasurementProvisionerConfigurationXml::parseEnvironment ( MeasurementProvisionerConfiguration & mpc, std::deque < sax::Token >::iterator & iter ) {
+	FromXMLParserHelper::popToken ( iter, Token::TokenType::START_ELEMENT, ENVIRONMENT_TAG );
 
 	for ( ; ; ) {
 		if ( !FromXMLParserHelper::isTokenType ( iter, Token::TokenType::START_ELEMENT ) ) break;
 
 		string data = FromXMLParserHelper::getTokenData ( iter, Token::TokenType::START_ELEMENT );
 
-		if ( data == INPUT_DATA_TAG )
-			parseInputData ( mpc, iter );
-		else if ( data == PIPELINES_TAG )
-			parsePipelines ( mpc, iter );
-		else if ( data == MEASUREMENT_CONFIGURATION_TAG )
-			parseMeasurementConfiguration ( mpc, iter );
-		else
+		if ( data == WORKING_DIRECTORY_TAG ) {
+			FromXMLParserHelper::popToken ( iter, Token::TokenType::START_ELEMENT, WORKING_DIRECTORY_TAG );
+			mpc.environment.workingDirectory = FromXMLParserHelper::popTokenData ( iter, Token::TokenType::CHARACTER );
+			FromXMLParserHelper::popToken ( iter, Token::TokenType::END_ELEMENT, WORKING_DIRECTORY_TAG );
+		} else {
 			break;
+		}
 	}
 
-	FromXMLParserHelper::popToken ( iter, Token::TokenType::END_ELEMENT, MEASUREMENT_PROVISION_TAG );
+	FromXMLParserHelper::popToken ( iter, Token::TokenType::END_ELEMENT, ENVIRONMENT_TAG );
 }
 
 void MeasurementProvisionerConfigurationXml::parseInputData ( MeasurementProvisionerConfiguration & mpc, std::deque < sax::Token >::iterator & iter ) {
@@ -246,9 +244,8 @@ void MeasurementProvisionerConfigurationXml::parseMeasurementConfiguration ( Mea
 
 string MeasurementProvisionerConfigurationXml::MEASUREMENT_PROVISIONER_TAG = "MeasurementProvisioner";
 
-string MeasurementProvisionerConfigurationXml::BINARIES_DIRECTORY_TAG = "BinariesDirectory";
-
-string MeasurementProvisionerConfigurationXml::MEASUREMENT_PROVISION_TAG = "MeasurementProvision";
+string MeasurementProvisionerConfigurationXml::ENVIRONMENT_TAG = "Environment";
+string MeasurementProvisionerConfigurationXml::WORKING_DIRECTORY_TAG = "WorkingDirectory";
 
 string MeasurementProvisionerConfigurationXml::INPUT_DATA_TAG = "InputData";
 string MeasurementProvisionerConfigurationXml::INPUT_DATA_BATCH_TAG = "InputBatch";
diff --git a/alib2measurepp/src/provisioner/MeasurementProvisionerConfigurationXml.hpp b/alib2measurepp/src/provisioner/MeasurementProvisionerConfigurationXml.hpp
index eb594b8ac025e3d9d4ad2c56128669e5776d3219..82ebdfe2beb857275f3c64e846e11485c85d5025 100644
--- a/alib2measurepp/src/provisioner/MeasurementProvisionerConfigurationXml.hpp
+++ b/alib2measurepp/src/provisioner/MeasurementProvisionerConfigurationXml.hpp
@@ -14,9 +14,8 @@ namespace provisioner {
 class MeasurementProvisionerConfigurationXml {
 	static std::string MEASUREMENT_PROVISIONER_TAG;
 
-	static std::string BINARIES_DIRECTORY_TAG;
-
-	static std::string MEASUREMENT_PROVISION_TAG;
+	static std::string ENVIRONMENT_TAG;
+	static std::string WORKING_DIRECTORY_TAG;
 
 	static std::string INPUT_DATA_TAG;
 	static std::string INPUT_DATA_BATCH_TAG;
@@ -38,7 +37,7 @@ class MeasurementProvisionerConfigurationXml {
 
 	static void parseMeasurementProvisioner ( MeasurementProvisionerConfiguration &, std::deque < sax::Token >::iterator & );
 
-	static void parseMeasurementProvision ( MeasurementProvisionerConfiguration &, std::deque < sax::Token >::iterator & );
+	static void parseEnvironment ( MeasurementProvisionerConfiguration &, std::deque < sax::Token >::iterator & );
 
 	static void parseInputData ( MeasurementProvisionerConfiguration &, std::deque < sax::Token >::iterator & );
 	static void parseInputBatch ( MeasurementProvisionerConfiguration &, std::deque < sax::Token >::iterator & );
diff --git a/examples2/measurements/ameasure.xml b/examples2/measurements/ameasure.xml
index 3134ea85212d759d98cc067793ca22d92662f824..0c8d5c9f2b16df7a9cc649fa73a98b1bb1855884 100644
--- a/examples2/measurements/ameasure.xml
+++ b/examples2/measurements/ameasure.xml
@@ -1,38 +1,31 @@
 <?xml version="1.0"?>
 <MeasurementProvisioner>
-	<BinariesDirectory>~/repositories/automata-library/bin-debug</BinariesDirectory>
-	<MeasurementProvision>
-		<InputData>
-			<InputBatch>
-				<Generator id="1">./arand2 -t ST --length 16384 --terminals 2</Generator>
-				<Generator id="1">./arand2 -t ST --length 16384 --terminals 4</Generator>
-				<Generator id="1">./arand2 -t ST --length 16384 --terminals 26</Generator>
-				<Generator id="2">./arand2 -t SST --length 64 -i $1</Generator>
-				<Generator id="2">./arand2 -t SST --length 128 -i $1</Generator>
-				<Generator id="2">./arand2 -t SST --length 256 -i $1</Generator>
-				<Generator id="2">./arand2 -t SST --length 512 -i $1</Generator>
-			</InputBatch>
-		</InputData>
-		<Pipelines>
-			<Pipeline>
-				<Command >./astringology2 -a exactFactorMatch -s $1 -p $2</Command>
-			</Pipeline>
-			<Pipeline>
-				<Command >./astringology2 -a boyerMooreHorspool -s $1 -p $2</Command>
-			</Pipeline>
-			<Pipeline>
-				<Command >./astringology2 -a reversedBoyerMooreHorspool -s $1 -p $2</Command>
-			</Pipeline>
-			<Pipeline>
-				<Command >./astringology2 -a deadZoneUsingBadCharacterShift -s $1 -p $2</Command>
-			</Pipeline>
-		</Pipelines>
-		<MeasurementConfiguration>
-			<Engines>
-				<Engine>TIME</Engine>
-				<Engine>MEMORY</Engine>
-				<Engine>COUNTER</Engine>
-			</Engines>
-		</MeasurementConfiguration>
-	</MeasurementProvision>
+	<Environment>
+		<WorkingDirectory>~/repositories/automata-library/bin-debug</WorkingDirectory>
+	</Environment>
+	<InputData>
+		<InputBatch>
+			<Generator id="1">./arand2 -t ST --length 16384 --terminals 2</Generator>
+			<Generator id="1">./arand2 -t ST --length 16384 --terminals 4</Generator>
+			<Generator id="1">./arand2 -t ST --length 16384 --terminals 26</Generator>
+			<Generator id="2">./arand2 -t SST --length 64 -i $1</Generator>
+			<Generator id="2">./arand2 -t SST --length 128 -i $1</Generator>
+			<Generator id="2">./arand2 -t SST --length 256 -i $1</Generator>
+			<Generator id="2">./arand2 -t SST --length 512 -i $1</Generator>
+		</InputBatch>
+	</InputData>
+	<Pipelines>
+		<Pipeline>
+			<Command >./astringology2 -a exactFactorMatch -s $1 -p $2</Command>
+		</Pipeline>
+		<Pipeline>
+			<Command >./astringology2 -a boyerMooreHorspool -s $1 -p $2</Command>
+		</Pipeline>
+		<Pipeline>
+			<Command >./astringology2 -a reversedBoyerMooreHorspool -s $1 -p $2</Command>
+		</Pipeline>
+		<Pipeline>
+			<Command >./astringology2 -a deadZoneUsingBadCharacterShift -s $1 -p $2</Command>
+		</Pipeline>
+	</Pipelines>
 </MeasurementProvisioner>
\ No newline at end of file