diff --git a/pv_app/CMakeLists.txt b/pv_app/CMakeLists.txt
index e43bcaf062ad6cb640ce6e387bf1c0bd7ea9c65c..73144e06bec12ea812d7b992c9a0307355563f38 100644
--- a/pv_app/CMakeLists.txt
+++ b/pv_app/CMakeLists.txt
@@ -25,10 +25,6 @@
 
 cmake_minimum_required(VERSION 2.8.11)
 
-set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
-
-project(pv_app)
-
 include( "./src/_SourceFiles.cmake" )
 
 set(UI)
@@ -93,7 +89,7 @@ include_directories(../qpvt/include)
 #-------------------------------------------------------------------------------
 
 # Create executable
-add_executable(${PROJECT_NAME} MACOSX_BUNDLE
+add_executable(pv_app MACOSX_BUNDLE
   ${ProjectSources}
   ${QT_UI_SRCS}
   ${QT_RCC_SRCS}
@@ -101,7 +97,7 @@ add_executable(${PROJECT_NAME} MACOSX_BUNDLE
 
 if (APPLE)
   # Use Retina on Mac OS
-  set_target_properties(${PROJECT_NAME}
+  set_target_properties(pv_app
   PROPERTIES MACOSX_BUNDLE_INFO_PLIST
   ${CMAKE_SOURCE_DIR}/cmake/MacOSXBundleInfo.plist.in)
 
@@ -110,7 +106,7 @@ if (APPLE)
 endif()
 
 # Link libraries
-target_link_libraries(${PROJECT_NAME}
+target_link_libraries(pv_app
   ${FFTW_LIBRARIES}
   ${FFTWF_LIBRARIES}
   ${OPENGL_LIBRARIES}
@@ -122,7 +118,7 @@ target_link_libraries(${PROJECT_NAME}
 )
 
 if (WIN32)
-  target_link_libraries(${PROJECT_NAME} ${GLEW_LIBRARY})
+  target_link_libraries(pv_app ${GLEW_LIBRARY})
 endif()
 
 # Configure .vcxproj.user to set the working directory and environment path if VS.
@@ -131,6 +127,6 @@ if (MSVC)
   get_filename_component(GLEW_DIRECTORY ${GLEW_LIBRARY}   PATH)
   set(ENVIRONMENT_PATH  ${FFTW_DIRECTORY};${GLEW_DIRECTORY};$ENV{QT5_DIR}/bin/;${pvt_BINARY_DIR}/\$\(Configuration\);${qpvt_BINARY_DIR}/\$\(Configuration\))
   configure_file(${CMAKE_SOURCE_DIR}/cmake/VisualStudioUserFileTemplate.xml 
-                 ${CMAKE_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}.vcxproj.user 
+                 ${CMAKE_BINARY_DIR}/pv_app/pv_app.vcxproj.user 
                  @ONLY)
-endif()
\ No newline at end of file
+endif()
diff --git a/pvt/CMakeLists.txt b/pvt/CMakeLists.txt
index af6d7f46429a2122f1e488ef19c820eba8eeaf95..1bf990d2afd9b1ba9d31d5d33a46b820ac0336fa 100644
--- a/pvt/CMakeLists.txt
+++ b/pvt/CMakeLists.txt
@@ -25,14 +25,10 @@
 
 cmake_minimum_required(VERSION 2.8.11)
 
-set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
-
-project(pvt)
-
 include( "./_SourceFiles.cmake" )
 
 # Assign source groups.
-include("${CMAKE_SOURCE_DIR}/cmake/assign_source_group.cmake")
+include(assign_source_group)
 assign_source_group(${SourceFiles})
 
 # Find includes in corresponding build directories
@@ -88,27 +84,27 @@ set(BUILD_SHARED OFF CACHE BOOL "Build as a shared library.")
 
 # Create library
 if   (BUILD_SHARED)
-  add_library(${PROJECT_NAME} SHARED ${SourceFiles} ./_SourceFiles.cmake)
+  add_library(pvt SHARED ${SourceFiles} ./_SourceFiles.cmake)
   add_definitions(-DPVT_DLL -DPVT_EXPORT)
 else ()
-  add_library(${PROJECT_NAME}        ${SourceFiles} ./_SourceFiles.cmake)
+  add_library(pvt        ${SourceFiles} ./_SourceFiles.cmake)
 endif()
 
-target_link_libraries(${PROJECT_NAME}
+target_link_libraries(pvt
   ${FFTW_LIBRARIES}
   ${FFTWF_LIBRARIES}
   ${OPENGL_LIBRARIES}
 )
 
 if(WIN32)
-  target_link_libraries(${PROJECT_NAME} ${GLEW_LIBRARY})
+  target_link_libraries(pvt ${GLEW_LIBRARY})
 endif()
 
 if(NOT WITHOUT_CUBE)
-  target_link_libraries(${PROJECT_NAME} ${CUBE_LIBRARIES})
+  target_link_libraries(pvt ${CUBE_LIBRARIES})
 endif()
 
-set(${PROJECT_NAME}_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE)
+set(pvt_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE)
 
 #-------------------------------------------------------------------------------
 # tests
diff --git a/pvt/src/io/perf_data_file_cube_cartesian_topology_loader.cpp b/pvt/src/io/perf_data_file_cube_cartesian_topology_loader.cpp
index 4a69b9490f2931027943ac49bdb1d9826c3b988d..8dd1e64ed72adbc1d7dce1b45faf9fc213fc5f7a 100644
--- a/pvt/src/io/perf_data_file_cube_cartesian_topology_loader.cpp
+++ b/pvt/src/io/perf_data_file_cube_cartesian_topology_loader.cpp
@@ -52,31 +52,61 @@ bool
 perf_data_file_cube_cartesian_topology_loader::load
 ()
 {
-  m_cartesian_topologies.reserve(mp_cube->get_cartv().size());
-
-  for (std::size_t id = 0; id < mp_cube->get_cartv().size(); ++id)
+  const std::size_t num_cart_topologies =mp_cube->get_cartv().size();
+  if (num_cart_topologies == 0)
   {
-    cube::Cartesian* const curr_cube_cart_topo = mp_cube->get_cartv()[id];
-   
-    const std::string topology_name(construct_topology_name(id));
-   
-    const std::vector<std::string> dimension_names(
-      construct_dimension_names(curr_cube_cart_topo, id));
+    const std::size_t data_size = mp_cube->get_locationv().size();
+
+    std::cout << "No cartesian topologies in cube file." << std::endl;
+    std::cout << "Constructing default 1D topology with ";
+    std::cout << data_size << " x 1 x 1 ";
+    std::cout << "entries." << std::endl;
     
-    cartesian_topology_index cart_topo_idx(
-      curr_cube_cart_topo->get_dimv());
+    const std::string topology_name("Default 1D");
+    const std::vector<std::string> dimension_names({{"default", "null", "null"}});
     
-    data_array<std::size_t> pTopologyToDataMap =
-      construct_topology_to_data_map(curr_cube_cart_topo,
-                                     cart_topo_idx);
+    std::cout << data_size << std::endl;
+    cartesian_topology_index cart_topo_idx(
+      std::vector<std::size_t>{{data_size,1,1}});
     
-    m_cartesian_topologies.emplace_back(id,
+    data_array<std::size_t> pTopologyToDataMap(data_size);
+    for (std::size_t i = 0; i < data_size; ++i) {
+      pTopologyToDataMap.at(i) = i;
+    }
+  
+    m_cartesian_topologies.emplace_back(0,
                                         topology_name,
                                         cart_topo_idx,
                                         dimension_names,
                                         pTopologyToDataMap);
   }
-
+  else
+  {
+    m_cartesian_topologies.reserve(mp_cube->get_cartv().size());
+
+    for (std::size_t id = 0; id < mp_cube->get_cartv().size(); ++id)
+    {
+      cube::Cartesian* const curr_cube_cart_topo = mp_cube->get_cartv()[id];
+     
+      const std::string topology_name(construct_topology_name(id));
+     
+      const std::vector<std::string> dimension_names(
+        construct_dimension_names(curr_cube_cart_topo, id));
+      
+      cartesian_topology_index cart_topo_idx(
+        curr_cube_cart_topo->get_dimv());
+      
+      data_array<std::size_t> pTopologyToDataMap =
+        construct_topology_to_data_map(curr_cube_cart_topo,
+                                       cart_topo_idx);
+      
+      m_cartesian_topologies.emplace_back(id,
+                                          topology_name,
+                                          cart_topo_idx,
+                                          dimension_names,
+                                          pTopologyToDataMap);
+    }
+  }
   return true;
 }
 
diff --git a/pvt/tests/CMakeLists.txt b/pvt/tests/CMakeLists.txt
index 8c4d0588f58f4ddf4f98e6429303d481f9468f64..e2b92349d199e1c4c2b9814ca81bc9ecbfd13280 100644
--- a/pvt/tests/CMakeLists.txt
+++ b/pvt/tests/CMakeLists.txt
@@ -25,10 +25,6 @@
 
 cmake_minimum_required(VERSION 2.8.11)
 
-set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
-
-project(pvt_tests)
-
 include( "./_SourceFiles.cmake" )
 
 # Find includes in corresponding build directories
diff --git a/qpvt/CMakeLists.txt b/qpvt/CMakeLists.txt
index b09d739012832f88af87f3e6c7ad5148d1a0c16f..5ce57c161228d05957685c9638befdd30782c264 100644
--- a/qpvt/CMakeLists.txt
+++ b/qpvt/CMakeLists.txt
@@ -25,10 +25,6 @@
 
 cmake_minimum_required(VERSION 2.8.11)
 
-set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
-
-project(qpvt)
-
 include( "./_SourceFiles.cmake" )
 
 # Assign source groups.
@@ -98,13 +94,13 @@ set(BUILD_SHARED OFF CACHE BOOL "Build as a shared library.")
 
 # Create library
 if   (BUILD_SHARED)
-  add_library(${PROJECT_NAME} SHARED ${SourceFiles} ./_SourceFiles.cmake)
+  add_library(qpvt SHARED ${SourceFiles} ./_SourceFiles.cmake)
   add_definitions(-DPVT_DLL -DQPVT_DLL -DQPVT_EXPORT)
 else ()
-  add_library(${PROJECT_NAME}        ${SourceFiles} ./_SourceFiles.cmake)
+  add_library(qpvt        ${SourceFiles} ./_SourceFiles.cmake)
 endif()
 
-target_link_libraries(${PROJECT_NAME}
+target_link_libraries(qpvt
   ${OPENGL_LIBRARIES}
   Qt5::Core
   Qt5::OpenGL
@@ -113,7 +109,7 @@ target_link_libraries(${PROJECT_NAME}
 )
 
 if(WIN32)
-  target_link_libraries(${PROJECT_NAME} ${GLEW_LIBRARY})
+  target_link_libraries(qpvt ${GLEW_LIBRARY})
 endif()
 
-set(${PROJECT_NAME}_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE)
+set(qpvt_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE)