diff --git a/LatticeDehomogenization/LatticeDehomogenization.vcxproj b/LatticeDehomogenization/LatticeDehomogenization.vcxproj
index 6a1c16b0afd0979fc695110f314bebfc1614700f..ef135adf52bfc6867a54232d76b402c060427f8b 100644
--- a/LatticeDehomogenization/LatticeDehomogenization.vcxproj
+++ b/LatticeDehomogenization/LatticeDehomogenization.vcxproj
@@ -70,7 +70,7 @@
     <Link>
       <SubSystem>Console</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>TKernel.lib;TKMath.lib;TKG2d.lib;TKG3d.lib;TKGeomBase.lib;TKBRep.lib;TKGeomAlgo.lib;TKTopAlgo.lib;TKPrim.lib;TKBO.lib;TKShHealing.lib;TKBool.lib;TKHLR.lib;TKFillet.lib;TKOffset.lib;TKFeat.lib;TKMesh.lib;TKXMesh.lib;TKService.lib;TKV3d.lib;TKOpenGl.lib;TKMeshVS.lib;TKIVtk.lib;TKXDE.lib;TKXSBase.lib;TKSTEPBase.lib;TKSTEPAttr.lib;TKSTEP209.lib;TKSTEP.lib;TKIGES.lib;TKXCAF.lib;TKCDF.lib;TKLCAF.lib;TKCAF.lib;TKVCAF.lib;TKXDEIGES.lib;TKXDESTEP.lib;TKSTL.lib;TKVRML.lib;TKRWMesh.lib;TKXmlXCAF.lib;TKXmlL.lib;TKXml.lib;TKBinXCAF.lib;TKBinL.lib;TKBin.lib;TKXDECascade.lib;TKBinTObj.lib;TKStd.lib;TKXmlTObj.lib;TKStdL.lib;TKTObj.lib;TKExpress.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>TKernel.lib;TKMath.lib;TKG2d.lib;TKG3d.lib;TKGeomBase.lib;TKBRep.lib;TKGeomAlgo.lib;TKTopAlgo.lib;TKPrim.lib;TKBO.lib;TKShHealing.lib;TKBool.lib;TKHLR.lib;TKFillet.lib;TKOffset.lib;TKFeat.lib;TKMesh.lib;TKXMesh.lib;TKService.lib;TKV3d.lib;TKOpenGl.lib;TKMeshVS.lib;TKIVtk.lib;TKXDE.lib;TKXSBase.lib;TKSTEPBase.lib;TKSTEPAttr.lib;TKSTEP209.lib;TKSTEP.lib;TKIGES.lib;TKXCAF.lib;TKCDF.lib;TKLCAF.lib;TKCAF.lib;TKVCAF.lib;TKXDEIGES.lib;TKXDESTEP.lib;TKSTL.lib;TKVRML.lib;TKRWMesh.lib;TKXmlXCAF.lib;TKXmlL.lib;TKXml.lib;TKBinXCAF.lib;TKBinL.lib;TKBin.lib;TKXDECascade.lib;TKBinTObj.lib;TKStd.lib;TKXmlTObj.lib;TKStdL.lib;TKTObj.lib;TKExpress.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>..\Dependancies\OCCT\lib-vc14\libd;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
@@ -94,26 +94,29 @@
       <SubSystem>Console</SubSystem>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>TKernel.lib;TKMath.lib;TKG2d.lib;TKG3d.lib;TKGeomBase.lib;TKBRep.lib;TKGeomAlgo.lib;TKTopAlgo.lib;TKPrim.lib;TKBO.lib;TKShHealing.lib;TKBool.lib;TKHLR.lib;TKFillet.lib;TKOffset.lib;TKFeat.lib;TKMesh.lib;TKXMesh.lib;TKService.lib;TKV3d.lib;TKOpenGl.lib;TKMeshVS.lib;TKIVtk.lib;TKXDE.lib;TKXSBase.lib;TKSTEPBase.lib;TKSTEPAttr.lib;TKSTEP209.lib;TKSTEP.lib;TKIGES.lib;TKXCAF.lib;TKCDF.lib;TKLCAF.lib;TKCAF.lib;TKVCAF.lib;TKXDEIGES.lib;TKXDESTEP.lib;TKSTL.lib;TKVRML.lib;TKRWMesh.lib;TKXmlXCAF.lib;TKXmlL.lib;TKXml.lib;TKBinXCAF.lib;TKBinL.lib;TKBin.lib;TKXDECascade.lib;TKBinTObj.lib;TKStd.lib;TKXmlTObj.lib;TKStdL.lib;TKTObj.lib;TKExpress.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>TKernel.lib;TKMath.lib;TKG2d.lib;TKG3d.lib;TKGeomBase.lib;TKBRep.lib;TKGeomAlgo.lib;TKTopAlgo.lib;TKPrim.lib;TKBO.lib;TKShHealing.lib;TKBool.lib;TKHLR.lib;TKFillet.lib;TKOffset.lib;TKFeat.lib;TKMesh.lib;TKXMesh.lib;TKService.lib;TKV3d.lib;TKOpenGl.lib;TKMeshVS.lib;TKIVtk.lib;TKXDE.lib;TKXSBase.lib;TKSTEPBase.lib;TKSTEPAttr.lib;TKSTEP209.lib;TKSTEP.lib;TKIGES.lib;TKXCAF.lib;TKCDF.lib;TKLCAF.lib;TKCAF.lib;TKVCAF.lib;TKXDEIGES.lib;TKXDESTEP.lib;TKSTL.lib;TKVRML.lib;TKRWMesh.lib;TKXmlXCAF.lib;TKXmlL.lib;TKXml.lib;TKBinXCAF.lib;TKBinL.lib;TKBin.lib;TKXDECascade.lib;TKBinTObj.lib;TKStd.lib;TKXmlTObj.lib;TKStdL.lib;TKTObj.lib;TKExpress.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>..\Dependancies\OCCT\lib-vc14\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClInclude Include="src\inputParsing\ParseCommandLine.h" />
-    <ClInclude Include="src\inputParsing\DetermineLatticeType.h" />
     <ClInclude Include="src\ErrorCodes.h" />
+    <ClInclude Include="src\fileExchange\CADExtensions.h" />
+    <ClInclude Include="src\fileExchange\CADwriter.h" />
+    <ClInclude Include="src\inputParsing\DetermineLatticeType.h" />
+    <ClInclude Include="src\inputParsing\ParseCommandLine.h" />
     <ClInclude Include="src\inputParsing\ParseInputFile.h" />
-    <ClInclude Include="src\lattice\BuilderProjectedLattice.h" />
     <ClInclude Include="src\lattice\BuildLattice.h" />
     <ClInclude Include="src\lattice\BuilderGenericLattice.h" />
-    <ClInclude Include="src\lattice\LatticeData.h" />
+    <ClInclude Include="src\lattice\BuilderProjectedLattice.h" />
     <ClInclude Include="src\lattice\BuilderSimpleLattice.h" />
+    <ClInclude Include="src\lattice\LatticeData.h" />
     <ClInclude Include="src\unitcells\UnitCellBCC.h" />
     <ClInclude Include="src\unitcells\UnitCellBuilder.h" />
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="src\inputParsing\ParseCommandLine.cpp" />
+    <ClCompile Include="src\fileExchange\CADwriter.cpp" />
     <ClCompile Include="src\inputParsing\DetermineLatticeType.cpp" />
+    <ClCompile Include="src\inputParsing\ParseCommandLine.cpp" />
     <ClCompile Include="src\inputParsing\ParseInputFile.cpp" />
     <ClCompile Include="src\main.cpp" />
     <ClCompile Include="src\unitcells\UnitCellBCC.cpp" />
diff --git a/LatticeDehomogenization/LatticeDehomogenization.vcxproj.filters b/LatticeDehomogenization/LatticeDehomogenization.vcxproj.filters
index 7ac1db39aafdd7f03995aee3f421c0e924de6b04..d206288dbaa21199dc546c092361191d39f6b482 100644
--- a/LatticeDehomogenization/LatticeDehomogenization.vcxproj.filters
+++ b/LatticeDehomogenization/LatticeDehomogenization.vcxproj.filters
@@ -1,6 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup>
+    <Filter Include="fileExchange">
+      <UniqueIdentifier>{48B8B8E7-341B-488C-DDA0-8042C9E2130F}</UniqueIdentifier>
+    </Filter>
     <Filter Include="inputParsing">
       <UniqueIdentifier>{A9B464C2-9517-F466-3E9D-2C1D2ADFBFE9}</UniqueIdentifier>
     </Filter>
@@ -12,27 +15,57 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
+    <ClInclude Include="src\ErrorCodes.h" />
+    <ClInclude Include="src\fileExchange\CADExtensions.h">
+      <Filter>fileExchange</Filter>
+    </ClInclude>
+    <ClInclude Include="src\fileExchange\CADwriter.h">
+      <Filter>fileExchange</Filter>
+    </ClInclude>
+    <ClInclude Include="src\inputParsing\DetermineLatticeType.h">
+      <Filter>inputParsing</Filter>
+    </ClInclude>
+    <ClInclude Include="src\inputParsing\ParseCommandLine.h">
+      <Filter>inputParsing</Filter>
+    </ClInclude>
     <ClInclude Include="src\inputParsing\ParseInputFile.h">
       <Filter>inputParsing</Filter>
     </ClInclude>
     <ClInclude Include="src\lattice\BuildLattice.h">
       <Filter>lattice</Filter>
     </ClInclude>
+    <ClInclude Include="src\lattice\BuilderGenericLattice.h">
+      <Filter>lattice</Filter>
+    </ClInclude>
+    <ClInclude Include="src\lattice\BuilderProjectedLattice.h">
+      <Filter>lattice</Filter>
+    </ClInclude>
+    <ClInclude Include="src\lattice\BuilderSimpleLattice.h">
+      <Filter>lattice</Filter>
+    </ClInclude>
+    <ClInclude Include="src\lattice\LatticeData.h">
+      <Filter>lattice</Filter>
+    </ClInclude>
     <ClInclude Include="src\unitcells\UnitCellBCC.h">
       <Filter>unitcells</Filter>
     </ClInclude>
     <ClInclude Include="src\unitcells\UnitCellBuilder.h">
       <Filter>unitcells</Filter>
     </ClInclude>
-    <ClInclude Include="src\ErrorCodes.h" />
-    <ClInclude Include="src\inputParsing\DetermineLatticeType.h" />
-    <ClInclude Include="src\lattice\BuilderSimpleLattice.h" />
-    <ClInclude Include="src\lattice\LatticeData.h" />
-    <ClInclude Include="src\lattice\BuilderGenericLattice.h" />
-    <ClInclude Include="src\lattice\BuilderProjectedLattice.h" />
-    <ClInclude Include="src\inputParsing\ParseCommandLine.h" />
   </ItemGroup>
   <ItemGroup>
+    <ClCompile Include="src\fileExchange\CADwriter.cpp">
+      <Filter>fileExchange</Filter>
+    </ClCompile>
+    <ClCompile Include="src\inputParsing\DetermineLatticeType.cpp">
+      <Filter>inputParsing</Filter>
+    </ClCompile>
+    <ClCompile Include="src\inputParsing\ParseCommandLine.cpp">
+      <Filter>inputParsing</Filter>
+    </ClCompile>
+    <ClCompile Include="src\inputParsing\ParseInputFile.cpp">
+      <Filter>inputParsing</Filter>
+    </ClCompile>
     <ClCompile Include="src\main.cpp" />
     <ClCompile Include="src\unitcells\UnitCellBCC.cpp">
       <Filter>unitcells</Filter>
@@ -40,8 +73,5 @@
     <ClCompile Include="src\unitcells\UnitCellBuilder.cpp">
       <Filter>unitcells</Filter>
     </ClCompile>
-    <ClCompile Include="src\inputParsing\ParseInputFile.cpp" />
-    <ClCompile Include="src\inputParsing\DetermineLatticeType.cpp" />
-    <ClCompile Include="src\inputParsing\ParseCommandLine.cpp" />
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/premake5.lua b/premake5.lua
index 6ecb116799c5fe0d820c04746429bb167673260b..dd44b6d67ab4173453a92e4f915925a346ea9a58 100644
--- a/premake5.lua
+++ b/premake5.lua
@@ -27,9 +27,6 @@ project "LatticeDehomogenization"
 		"%{prj.name}/src/**.cpp"
 	}
 
-    --pchheader "pch.h"
-    --pchsource "%{prj.name}/src/pch.cpp"
-
 	includedirs {
         "Dependancies/OCCT/include",
 
@@ -47,7 +44,7 @@ project "LatticeDehomogenization"
         "TKXDESTEP.lib","TKSTL.lib","TKVRML.lib","TKRWMesh.lib","TKXmlXCAF.lib",
         "TKXmlL.lib","TKXml.lib","TKBinXCAF.lib","TKBinL.lib","TKBin.lib",
         "TKXDECascade.lib","TKBinTObj.lib","TKStd.lib","TKXmlTObj.lib","TKStdL.lib",
-        "TKTObj.lib","TKExpress.lib",
+        "TKTObj.lib","TKExpress.lib", "Ws2_32.lib"
     }
 
     defines {