diff --git a/ameasure2/src/provisioner/MeasurementProvisioner.cpp b/ameasure2/src/provisioner/MeasurementProvisioner.cpp
index 784eb401f6a4d1f5e1f32a448840292a0e35b78e..a9ac9b619fc052194e00fd7d9613088b70811d46 100644
--- a/ameasure2/src/provisioner/MeasurementProvisioner.cpp
+++ b/ameasure2/src/provisioner/MeasurementProvisioner.cpp
@@ -22,14 +22,38 @@ MeasurementProvisionerResults MeasurementProvisioner::runConfiguration ( const M
 
 	MeasurementProvisionerResults mprResults;
 
+	int inputCounter = 1;
+	int inputCount = mpiData.getSubstitutionMaps ( ).size ( );
+
 	for ( const MPSubstitutionMap & substitutionMap : mpiData.getSubstitutionMaps ( ) ) {
 		MPRResults mprr;
 
 		for ( const auto & mpsmPair : substitutionMap )
 			mprr.inputs.push_back ( { mpsmPair.first, mpiData.getMPIDHandle ( mpsmPair.second ).alias } );
 
-		for ( const MPPipeline & pipeline : mpiData.getSubstitutionPipelines ( ) )
+		if ( inputCounter != 1 )
+			clog << endl << endl;
+
+		clog << "+" << endl;
+		clog << "| Input [" << inputCounter++ << "/" << inputCount << "]: " << endl;
+
+		for ( const auto & mpsmPair : substitutionMap )
+			clog << "| \t$" << mpsmPair.first << " -> " << mpiData.getMPIDHandle ( mpsmPair.second ).alias << endl;
+
+		clog << "| Pipelines:" << endl;
+
+		int pipelineCounter = 1;
+		int pipelineCount = mpiData.getSubstitutionPipelines ( ).size ( );
+
+		for ( const MPPipeline & pipeline : mpiData.getSubstitutionPipelines ( ) ) {
+			if ( pipelineCounter != 1 )
+				clog << "|" << endl;
+
+			clog << "| \t[" << pipelineCounter++ << "/" << pipelineCount << "]: " << endl;
 			mprr.pipelineResults.push_back ( runPipeline ( pipeline, substitutionMap ) );
+		}
+
+		clog << "+" << endl;
 
 		mprResults.results.push_back ( std::move ( mprr ) );
 	}
@@ -68,7 +92,9 @@ MPRPipelineResults MeasurementProvisioner::runPipeline ( const MPPipeline & pipe
 
 	if ( ( inputTmpfileFd == -1 ) || ( outputTmpfileFd == -1 ) || ( errorTmpfileFd == -1 ) ) {
 		if ( inputTmpfileFd != -1 ) close ( inputTmpfileFd );
+
 		if ( outputTmpfileFd != -1 ) close ( outputTmpfileFd );
+
 		if ( errorTmpfileFd != -1 ) close ( errorTmpfileFd );
 
 		throw::exception::CommonException ( "MeasurementProvisioner: Cannot make io tmp files" );
@@ -108,13 +134,11 @@ MPRPipelineResults MeasurementProvisioner::runPipeline ( const MPPipeline & pipe
 
 		string command = mppcIter->substitute ( substitutionMap );
 
-		ofdlog << command << endl;
+		ofdlog << "| \t" << mppcIter->getRawCommand ( ) << flush;
 
 		 // leave the execution to the system shell
 		int status = system ( command.c_str ( ) );
 
-		ofdlog << WEXITSTATUS ( status ) << endl;
-
 		if ( WEXITSTATUS ( status ) != 0 ) {
 			ifdstream errorIfd ( errorTmpfileFd );
 			stringstream buffer;
@@ -122,9 +146,13 @@ MPRPipelineResults MeasurementProvisioner::runPipeline ( const MPPipeline & pipe
 			pipelineResults.pipelineStatus.exitCode = WEXITSTATUS ( status );
 			pipelineResults.pipelineStatus.errorOrigin = mppcIter->getRawCommand ( );
 			pipelineResults.pipelineStatus.errorValue  = buffer.str ( );
+
+			ofdlog << " ERROR!" << endl;
 			break;
 		}
 
+		ofdlog << " OK!" << endl;
+
 		if ( mppcIter->getMeasure ( ) ) {
 			 // since we are at the end of file after the output, we need to rewind
 			lseek ( measurementsFd, SEEK_SET, 0 );
@@ -135,7 +163,7 @@ MPRPipelineResults MeasurementProvisioner::runPipeline ( const MPPipeline & pipe
 
 			measurements::MeasurementResults measurementResults = measurements::MeasurementXmlFactory::parseMeasurementResults ( tokens );
 
-			ofdlog << measurements::MeasurementFormat::TREE << measurementResults << endl;
+			// ofdlog << measurements::MeasurementFormat::TREE << measurementResults << endl;
 
 			pipelineResults.commandResults.push_back ( { mppcIter->getRawCommand ( ), std::move ( measurementResults ) } );