diff --git a/.gitignore b/.gitignore
index 9f5d0faa65f540ddf5dc181ff4d3a74eb892e639..111ee1a3429a4c2837fdd5ff2add763a1f47d878 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,3 @@
-
 # Created by https://www.gitignore.io/api/c++,clion,emacs,cmake
 # Edit at https://www.gitignore.io/?templates=c++,clion,emacs,cmake
 
@@ -184,4 +183,7 @@ flycheck_*.el
 
 
 # End of https://www.gitignore.io/api/c++,clion,emacs,cmake
-.idea/*
\ No newline at end of file
+.idea/*
+
+.vscode/
+build*
diff --git a/src/SaxParser.cpp b/src/SaxParser.cpp
index 1cd0f61c17cfb0b2aad4a309c0d5de4f766489c7..585686f5f1044196b605826043eed077ea2500d1 100644
--- a/src/SaxParser.cpp
+++ b/src/SaxParser.cpp
@@ -680,12 +680,14 @@ bool SaxParser::parseGeometryJPS(QString fileName, GeometryFactory& geoFac)
      double captionsColor=0;//red
      if(!fileName.endsWith(".xml",Qt::CaseInsensitive)) return false;
      QString wd;
+     QDir dir(wd);
      SystemSettings::getWorkingDirectory(wd);
-     fileName=wd + "/" + fileName; //TODO: is this windows compatible?
+     QString s = dir.relativeFilePath(fileName);
+     fileName=wd + QDir::separator() + s;
      // QString = QDir::cleanPath(wd + QDir::separator() + fileName);
      Debug::Messages("filename: <%s)", fileName.toStdString().c_str());
      Debug::Messages("wd: <%s>",wd.toStdString().c_str());
-     Debug::Messages("filename2: <%s>",fileName.toStdString().c_str());
+
      Building* building = new Building();
      string geometrypath = fileName.toStdString();
      // read the geometry