diff --git a/examples/heatTransfer/write/CMakeLists.txt b/examples/heatTransfer/write/CMakeLists.txt
index 426c51240b85c86a6a28f1efc98de9610a89fdcb..b559584822c58708fe15a99314f5cbf32bc37473 100644
--- a/examples/heatTransfer/write/CMakeLists.txt
+++ b/examples/heatTransfer/write/CMakeLists.txt
@@ -16,6 +16,8 @@ if(ADIOS2_HAVE_MPI)
     PRIVATE ${MPI_C_INCLUDE_PATH}
   )
   target_link_libraries(heatTransfer_write_adios2 adios2 ${MPI_C_LIBRARIES})
+  target_compile_definitions(heatTransfer_write_adios2 PRIVATE
+   -DDEFAULT_CONFIG=${CMAKE_CURRENT_SOURCE_DIR}/config.xml)
 
   if(ADIOS2_HAVE_ADIOS1)
     find_package(ADIOS1 REQUIRED)
diff --git a/examples/heatTransfer/write/IO_adios2.cpp b/examples/heatTransfer/write/IO_adios2.cpp
index 7abf122a2c14c2c176d793ac7ea6465739ad4fb1..e795d5976ef61e74f0c7613c5b41b411f1bb50d5 100644
--- a/examples/heatTransfer/write/IO_adios2.cpp
+++ b/examples/heatTransfer/write/IO_adios2.cpp
@@ -14,6 +14,13 @@
 
 #include <adios2.h>
 
+#define str_helper(X) #X
+#define str(X) str_helper(X)
+#ifndef DEFAULT_CONFIG
+#define DEFAULT_CONFIG config.xml
+#endif
+#define DEFAULT_CONFIG_STR str(DEFAULT_CONFIG)
+
 static int rank_saved;
 adios2::ADIOS *ad = nullptr;
 std::shared_ptr<adios2::Engine> bpWriter;
@@ -24,7 +31,8 @@ IO::IO(const Settings &s, MPI_Comm comm)
 {
     rank_saved = s.rank;
     m_outputfilename = s.outputfile + ".bp";
-    ad = new adios2::ADIOS("config.xml", comm, adios2::DebugON);
+    ad = new adios2::ADIOS(std::string(DEFAULT_CONFIG_STR), comm,
+                           adios2::DebugON);
 
     // Define method for engine creation
 
diff --git a/examples/heatTransfer/write/config.xml b/examples/heatTransfer/write/config.xml
index 2aca2b3fea7a870d2d371f19ba58c6a985b5a04f..7013154c4b54deae67c679c66d83ae80ffc5b9d1 100644
--- a/examples/heatTransfer/write/config.xml
+++ b/examples/heatTransfer/write/config.xml
@@ -1,13 +1,14 @@
 <?xml version="1.0"?>
-<!-- Config XML file fo the  heatTransfer_write_adios2 executable from 
-     IO_adios2.cpp -->
+<!-- Config XML file fo the  heatTransfer_write_adios2 executable in .
+     build/bin from IO_adios2.cpp -->
 
 <adios-config>
     <io name="output">
         <engine type="BPFileWriter">
             
-            <!-- for vectorized memory operations --> 
-            <parameter key="Threads" value="1"/>
+            <!-- for vectorized memory operations, make sure your system 
+                 enables threads--> 
+            <parameter key="Threads" value="2"/>
 
             <!-- Microseconds (default), Milliseconds, Seconds, 
                  Minutes, Hours -->
@@ -17,12 +18,15 @@
                 (applications might choose an optimal value) -->
             <!--<parameter key="InitialBufferSize" value="16Kb"/>  -->
             
-            <!-- XXKb, XXMb, or XXXGb supported, default=Unlimited or 
-                 maximum at each time step  
+            <!-- XXKb, XXMb, or XXXGb supported, default=Unlimited (until 
+                 fails), maximum at each time step  
                 (applications might choose an optimal value) -->
-            <!-- <parameter key="MaxBufferSize" value="50Mb"/> -->
+            <!-- <parameter key="MaxBufferSize" value="2Gb"/> -->
 
-            <!-- exponential growth factor > 1, default = 1.05 --> 
+            <!-- exponential growth factor > 1, default = 1.05 
+                 1.05  is good for a few large variables, for many small
+                 variables increase the value to 1.5 to 2 
+                 (optimal value is application dependent)--> 
             <parameter key="BufferGrowthFactor" value="1.05"/>
             
         </engine>
@@ -34,7 +38,8 @@
             
             <!-- For read/write, Microseconds (default), Milliseconds, Seconds, 
                  Minutes, Hours. open/close always in Microseconds -->
-            <parameter key="ProfileUnits" value="Milliseconds"/>
+            <parameter key="ProfileUnits" value="Microseconds"/>
+            
         </transport>
     </io>
 </adios-config>