diff --git a/CMakeLists.txt b/CMakeLists.txt
index d361ffd..0e8cdb1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -210,13 +210,16 @@
 
 add_custom_command(TARGET surelog POST_BUILD
   COMMAND echo "       Creating staging for precompiled packages"
-  COMMAND mkdir -p ${CMAKE_BINARY_DIR}/dist/pkg/work/
-  COMMAND mkdir -p ${CMAKE_BINARY_DIR}/dist/${CMAKE_BUILD_TYPE}/sv 
+  COMMAND mkdir -p ${CMAKE_BINARY_DIR}/dist/${CMAKE_BUILD_TYPE}/sv
+  COMMAND mkdir -p ${CMAKE_BINARY_DIR}/dist/${CMAKE_BUILD_TYPE}/python
   COMMAND cp -f ${CMAKE_BINARY_DIR}/../src/API/builtin.sv ${CMAKE_BINARY_DIR}/dist/${CMAKE_BUILD_TYPE}/sv
   COMMAND ln -fs ${CMAKE_BINARY_DIR}/../third_party/UVM/ovm-2.1.2  ovm-2.1.2
   COMMAND ln -fs ${CMAKE_BINARY_DIR}/../third_party/UVM/uvm-1.2    uvm-1.2
   COMMAND ln -fs ${CMAKE_BINARY_DIR}/../third_party/UVM/vmm-1.1.1a vmm-1.1.1a
   COMMAND rm -rf slpp_all slpp_unit
+  COMMAND cp -f ${CMAKE_BINARY_DIR}/../src/API/slSV3_1aPythonListener.py ${CMAKE_BINARY_DIR}/dist/${CMAKE_BUILD_TYPE}/python/
+  COMMAND cp -f ${CMAKE_BINARY_DIR}/../src/API/slformatmsg.py ${CMAKE_BINARY_DIR}/dist/${CMAKE_BUILD_TYPE}/python/slformatmsg.py
+  COMMAND cp -f ${CMAKE_BINARY_DIR}/../src/API/slwaivers.py ${CMAKE_BINARY_DIR}/dist/${CMAKE_BUILD_TYPE}/python/
   COMMAND echo "       Creating OVM precompiled package..."
   COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/surelog -nobuiltin -createcache +incdir+ovm-2.1.2/src/ +incdir+vmm-1.1.1a/sv ovm-2.1.2/src/ovm_pkg.sv -writepp  -mt 0 -parse -nocomp -noelab -nostdout
   COMMAND echo "       Creating UVM precompiled package..."
diff --git a/Makefile b/Makefile
index 1dfd2ae..318d1a9 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,6 @@
 release:
 	mkdir -p build/tests;
+	mkdir -p build/dist;
 	mkdir -p dist;
 	cd build; cmake ../ -DCMAKE_BUILD_TYPE=Release; make -j 4 
 	cd build; ../tests/regression.tcl mt=0 show_diff
diff --git a/src/API/PythonAPI.cpp b/src/API/PythonAPI.cpp
index 4fdfca3..90ee59c 100644
--- a/src/API/PythonAPI.cpp
+++ b/src/API/PythonAPI.cpp
@@ -147,7 +147,7 @@
   PyRun_SimpleString(
       std::string("sys.path.append(\"" + m_programPath + "\")").c_str());
 
-  std::string waivers = m_programPath + "/../python/slwaivers.py";
+  std::string waivers = m_programPath + "/python/slwaivers.py";
   bool waiverLoaded = loadScript_(waivers);
 
   const char* home = getenv("HOME");
@@ -159,7 +159,7 @@
   waivers = "./slwaivers.py";
   waiverLoaded = loadScript_(waivers) || waiverLoaded;
 
-  std::string format = m_programPath + "/../python/slformatmsg.py";
+  std::string format = m_programPath + "/python/slformatmsg.py";
   bool messageFormatLoaded = loadScript_(format);
 
   if (home) {
@@ -178,7 +178,7 @@
 
   if (!m_listenerLoaded) {
     std::string listener =
-        m_programPath + "/../python/slSV3_1aPythonListener.py";
+        m_programPath + "/python/slSV3_1aPythonListener.py";
     if (FileUtils::fileExists(listener)) m_listenerScript = listener;
     m_listenerLoaded = loadScript_(listener);
 
diff --git a/src/CommandLine/CommandLineParser.cpp b/src/CommandLine/CommandLineParser.cpp
index ab0af8c..b5f57d5 100644
--- a/src/CommandLine/CommandLineParser.cpp
+++ b/src/CommandLine/CommandLineParser.cpp
@@ -354,7 +354,7 @@
   std::string exe_name = argv[0];
   std::string exe_path = FileUtils::getPathName(exe_name);
   m_precompiledDirId = m_symbolTable->registerSymbol(exe_path + "pkg/");
-  std::string built_in_verilog = exe_path + "../sv/builtin.sv";
+  std::string built_in_verilog = exe_path + "/sv/builtin.sv";
   std::vector<std::string> all_arguments;
   std::vector<std::string> cmd_line;
   for (int i = 1; i < argc; i++) {
diff --git a/tests/regression.tcl b/tests/regression.tcl
index a603f2c..cbfc39e 100755
--- a/tests/regression.tcl
+++ b/tests/regression.tcl
@@ -320,7 +320,7 @@
 	}
 
 	set testdir $TESTS_DIR($testname)
-	file mkdir $testname
+	file mkdir $REGRESSION_PATH/tests/$testname
 	set test $testname
 	set command $TESTS($testname)
 	regsub -all {\\} $command "" command
@@ -589,6 +589,8 @@
     log ""
 }
 
+cd $REGRESSION_PATH
+
 foreach testname [array names DIFF_TESTS] {
     set testdir $TESTS_DIR($testname)
     if {$SHOW_DIFF == 0} {
@@ -596,7 +598,7 @@
     } else {
 	log "============================== DIFF ======================================================"
 	log "diff $testdir/${testname}.log tests/$DIFF_TESTS($testname)/${testname}_diff.log"
-	catch {exec sh -c "diff -d $DIFF_TESTS($testdir)/${testname}.log tests/$DIFF_TESTS($testname)/${testname}_diff.log"} dummy
+	catch {exec sh -c "diff -d $testdir/${testname}.log tests/$DIFF_TESTS($testname)/${testname}_diff.log"} dummy
 	puts $dummy
     }
 }
