diff --git a/Applications/DataExplorer/mainwindow.cpp b/Applications/DataExplorer/mainwindow.cpp
index ea124e476706c91ebd13df0e117f0ad77bc822ad..d3ddff7881b2042229108968dc5727e2a09d188a 100644
--- a/Applications/DataExplorer/mainwindow.cpp
+++ b/Applications/DataExplorer/mainwindow.cpp
@@ -24,6 +24,7 @@
 
 // GeoLib
 #include "Raster.h"
+#include "GeoLib/IO/Legacy/OGSIOVer4.h"
 
 // MeshGeoLib
 #include "MeshGeoToolsLib/GeoMapper.h"
@@ -62,7 +63,6 @@
 #include "FileIO/FEFLOWInterface.h"
 #include "FileIO/GMSInterface.h"
 #include "FileIO/Legacy/MeshIO.h"
-#include "FileIO/Legacy/OGSIOVer4.h"
 #include "FileIO/GMSHInterface.h"
 #include "FileIO/TetGenInterface.h"
 #include "FileIO/PetrelInterface.h"
@@ -460,7 +460,10 @@ void MainWindow::loadFile(ImportFileType::type t, const QString &fileName)
 		{
 			std::string unique_name;
 			std::vector<std::string> errors;
-			if (! Legacy::readGLIFileV4(fileName.toStdString(), _project.getGEOObjects(), unique_name, errors)) {
+			if (!GeoLib::IO::Legacy::readGLIFileV4(fileName.toStdString(),
+			                                       _project.getGEOObjects(),
+			                                       unique_name, errors))
+			{
 				for (std::size_t k(0); k<errors.size(); k++)
 					OGSError::box(QString::fromStdString(errors[k]));
 			}
@@ -779,7 +782,8 @@ void MainWindow::writeGeometryToFile(QString gliName, QString fileName)
 	QFileInfo fi(fileName);
 	if (fi.suffix().toLower() == "gli")
 	{
-		FileIO::Legacy::writeAllDataToGLIFileV4(fileName.toStdString(), this->_project.getGEOObjects());
+		GeoLib::IO::Legacy::writeAllDataToGLIFileV4(fileName.toStdString(),
+		                                            _project.getGEOObjects());
 		return;
 	}
 #endif
diff --git a/Applications/Utils/FileConverter/CMakeLists.txt b/Applications/Utils/FileConverter/CMakeLists.txt
index 452da058b22e22843c84fc5336c7cee2e6564c2f..87c973d1842df4a3c12df04b704e69aeae53ea9f 100644
--- a/Applications/Utils/FileConverter/CMakeLists.txt
+++ b/Applications/Utils/FileConverter/CMakeLists.txt
@@ -17,7 +17,7 @@ if (QT4_FOUND)
 
 	add_executable(FEFLOW2OGS FEFLOW2OGS.cpp)
 	set_target_properties(FEFLOW2OGS PROPERTIES FOLDER Utilities)
-	target_link_libraries(FEFLOW2OGS FileIO)
+	target_link_libraries(FEFLOW2OGS GeoLib MeshLib FileIO)
 	ADD_VTK_DEPENDENCY(FEFLOW2OGS)
 endif () # QT4_FOUND
 
diff --git a/Applications/Utils/MeshEdit/CreateBoundaryConditionsAlongPolylines.cpp b/Applications/Utils/MeshEdit/CreateBoundaryConditionsAlongPolylines.cpp
index bd0adc989b8d2a45afeff5bd70fac470b8153091..ee6fc9f94b1afe1670f799926cda2260fc91247f 100644
--- a/Applications/Utils/MeshEdit/CreateBoundaryConditionsAlongPolylines.cpp
+++ b/Applications/Utils/MeshEdit/CreateBoundaryConditionsAlongPolylines.cpp
@@ -28,12 +28,12 @@
 // FileIO
 #include "FileIO/readMeshFromFile.h"
 #include "FileIO/writeMeshToFile.h"
-#include "FileIO/readGeometryFromFile.h"
-#include "FileIO/writeGeometryToFile.h"
 
 // GeoLib
 #include "GeoLib/GEOObjects.h"
 #include "GeoLib/Point.h"
+#include "GeoLib/IO/readGeometryFromFile.h"
+#include "GeoLib/IO/writeGeometryToFile.h"
 
 // MeshLib
 #include "MeshLib/Mesh.h"
@@ -101,9 +101,9 @@ void writeBCsAndGeometry(GeoLib::GEOObjects& geometry_sets,
 {
 	if (write_gml) {
 		INFO("write points to \"%s.gml\".", geo_name.c_str());
-		FileIO::writeGeometryToFile(geo_name, geometry_sets, out_fname+".gml");
+		GeoLib::IO::writeGeometryToFile(geo_name, geometry_sets, out_fname+".gml");
 	}
-	FileIO::writeGeometryToFile(geo_name, geometry_sets, out_fname+".gli");
+	GeoLib::IO::writeGeometryToFile(geo_name, geometry_sets, out_fname+".gli");
 
 	bool liquid_flow(false);
 	if (bc_type == "LIQUID_FLOW")
@@ -188,7 +188,7 @@ int main (int argc, char* argv[])
 
 	// *** read geometry
 	GeoLib::GEOObjects geometries;
-	FileIO::readGeometryFromFile(geometry_fname.getValue(), geometries);
+	GeoLib::IO::readGeometryFromFile(geometry_fname.getValue(), geometries);
 
 	std::string geo_name;
 	{
diff --git a/Applications/Utils/MeshEdit/ResetPropertiesInPolygonalRegion.cpp b/Applications/Utils/MeshEdit/ResetPropertiesInPolygonalRegion.cpp
index cf3b58ae28e89c87c03d334e49711df5688048df..f0305bfb3928e88a62db000f7c673a760d9ad24b 100644
--- a/Applications/Utils/MeshEdit/ResetPropertiesInPolygonalRegion.cpp
+++ b/Applications/Utils/MeshEdit/ResetPropertiesInPolygonalRegion.cpp
@@ -24,13 +24,14 @@
 // FileIO
 #include "FileIO/readMeshFromFile.h"
 #include "FileIO/writeMeshToFile.h"
-#include "FileIO/readGeometryFromFile.h"
 
 // GeoLib
 #include "GeoLib/GEOObjects.h"
 #include "GeoLib/Polygon.h"
 #include "GeoLib/AnalyticalGeometry.h"
 
+#include "GeoLib/IO/readGeometryFromFile.h"
+
 // MathLib
 #include "MathLib/Vector3.h"
 #include "MathLib/LinAlg/Dense/DenseMatrix.h"
@@ -162,7 +163,7 @@ int main (int argc, char* argv[])
 
 	// *** read geometry
 	GeoLib::GEOObjects geometries;
-	FileIO::readGeometryFromFile(geometry_fname.getValue(), geometries);
+	GeoLib::IO::readGeometryFromFile(geometry_fname.getValue(), geometries);
 
 	std::string geo_name;
 	{
diff --git a/Applications/Utils/MeshGeoTools/ComputeSurfaceNodeIDsInPolygonalRegion.cpp b/Applications/Utils/MeshGeoTools/ComputeSurfaceNodeIDsInPolygonalRegion.cpp
index 3205b2ed79739d80d9dcf1bccb6e6bed7a971f49..dc9f326ed08aac972fcaf9f6b7c084dc035f38e3 100644
--- a/Applications/Utils/MeshGeoTools/ComputeSurfaceNodeIDsInPolygonalRegion.cpp
+++ b/Applications/Utils/MeshGeoTools/ComputeSurfaceNodeIDsInPolygonalRegion.cpp
@@ -22,10 +22,10 @@
 #include "BaseLib/FileTools.h"
 
 #include "FileIO/readMeshFromFile.h"
-#include "FileIO/readGeometryFromFile.h"
 
 #include "GeoLib/GEOObjects.h"
 #include "GeoLib/Polygon.h"
+#include "GeoLib/IO/readGeometryFromFile.h"
 
 #include "MathLib/Vector3.h"
 
@@ -91,7 +91,7 @@ int main (int argc, char* argv[])
 	INFO("Mesh read: %u nodes, %u elements.", mesh->getNNodes(), mesh->getNElements());
 
 	GeoLib::GEOObjects geo_objs;
-	FileIO::readGeometryFromFile(geo_in.getValue(), geo_objs);
+	GeoLib::IO::readGeometryFromFile(geo_in.getValue(), geo_objs);
 	std::vector<std::string> geo_names;
 	geo_objs.getGeometryNames(geo_names);
 	INFO("Geometry \"%s\" read: %u points, %u polylines.",
diff --git a/Applications/Utils/ModelPreparation/ComputeNodeAreasFromSurfaceMesh.cpp b/Applications/Utils/ModelPreparation/ComputeNodeAreasFromSurfaceMesh.cpp
index 60d671db54f2484bf16061a2b6846cdf27991a4a..1bbf8febdd1396d2101e69479df8d8c47b4e4f4c 100644
--- a/Applications/Utils/ModelPreparation/ComputeNodeAreasFromSurfaceMesh.cpp
+++ b/Applications/Utils/ModelPreparation/ComputeNodeAreasFromSurfaceMesh.cpp
@@ -21,7 +21,6 @@
 #include "BaseLib/FileTools.h"
 
 #include "FileIO/readMeshFromFile.h"
-#include "FileIO/readGeometryFromFile.h"
 
 #include "MeshLib/Mesh.h"
 #include "MeshLib/Node.h"
diff --git a/Applications/Utils/OGSFileConverter/OGSFileConverter.cpp b/Applications/Utils/OGSFileConverter/OGSFileConverter.cpp
index 5033281e63e1355e2caf7719c390c5ebcf63151d..e03d5b8660f0f16438410a6bd76b7878361c8832 100644
--- a/Applications/Utils/OGSFileConverter/OGSFileConverter.cpp
+++ b/Applications/Utils/OGSFileConverter/OGSFileConverter.cpp
@@ -27,7 +27,7 @@
 
 // geometry
 #include "GEOObjects.h"
-#include "Legacy/OGSIOVer4.h"
+#include "GeoLib/IO/Legacy/OGSIOVer4.h"
 #include "XmlIO/Qt/XmlGmlInterface.h"
 
 // mesh
@@ -67,7 +67,7 @@ void OGSFileConverter::convertGML2GLI(const QStringList &input, const QString &o
 		}
 		std::vector<std::string> geo_names;
 		geo_objects.getGeometryNames(geo_names);
-		FileIO::Legacy::writeGLIFileV4(output_str, geo_names[0], geo_objects);
+		GeoLib::IO::Legacy::writeGLIFileV4(output_str, geo_names[0], geo_objects);
 		geo_objects.removeSurfaceVec(geo_names[0]);
 		geo_objects.removePolylineVec(geo_names[0]);
 		geo_objects.removePointVec(geo_names[0]);
@@ -94,7 +94,7 @@ void OGSFileConverter::convertGLI2GML(const QStringList &input, const QString &o
 		std::string unique_name;
 		std::vector<std::string> errors;
 
-		FileIO::Legacy::readGLIFileV4(it->toStdString(), geo_objects, unique_name, errors);
+		GeoLib::IO::Legacy::readGLIFileV4(it->toStdString(), geo_objects, unique_name, errors);
 		if (errors.empty() || (errors.size()==1 && errors[0].compare("[readSurface] polyline for surface not found!")==0))
 		{
 			std::string const geo_name = BaseLib::extractBaseName(it->toStdString());
diff --git a/FileIO/CMakeLists.txt b/FileIO/CMakeLists.txt
index 7e9030809c272b458dc8d01ba38bff249509b073..6517d71039b46b759d635904495660f735aedf79 100644
--- a/FileIO/CMakeLists.txt
+++ b/FileIO/CMakeLists.txt
@@ -9,12 +9,8 @@ set(SOURCES
 	GMSHInterface.cpp
 	PetrelInterface.h
 	PetrelInterface.cpp
-	readGeometryFromFile.h
-	readGeometryFromFile.cpp
 	readMeshFromFile.h
 	readMeshFromFile.cpp
-	writeGeometryToFile.h
-	writeGeometryToFile.cpp
 	TetGenInterface.h
 	TetGenInterface.cpp
 	TINInterface.h
diff --git a/GeoLib/CMakeLists.txt b/GeoLib/CMakeLists.txt
index e8d6573392045455c02081e3d4ca8f0313c38c7a..7528b7a16e1314f1fbe1946cf4d2ca0d1d3e01ed 100644
--- a/GeoLib/CMakeLists.txt
+++ b/GeoLib/CMakeLists.txt
@@ -1,8 +1,12 @@
 # Source files
 GET_SOURCE_FILES(SOURCES_GeoLib)
+GET_SOURCE_FILES(SOURCES_IO IO)
+GET_SOURCE_FILES(SOURCES_IO_Legacy IO/Legacy)
+
+set(SOURCES ${SOURCES_GeoLib} ${SOURCES_IO} ${SOURCES_IO_Legacy})
 
 # Create the library
-add_library(GeoLib STATIC ${SOURCES_GeoLib}
+add_library(GeoLib STATIC ${SOURCES}
 	${CMAKE_CURRENT_SOURCE_DIR}/../ThirdParty/tetgen/predicates.cxx
 )
 
diff --git a/FileIO/Legacy/OGSIOVer4.cpp b/GeoLib/IO/Legacy/OGSIOVer4.cpp
similarity index 98%
rename from FileIO/Legacy/OGSIOVer4.cpp
rename to GeoLib/IO/Legacy/OGSIOVer4.cpp
index 927b4c00adbf994f35f0285973e51ee8c5627d75..ebf5870eca81648a586e6bc43b9d430694c4c3bf 100644
--- a/FileIO/Legacy/OGSIOVer4.cpp
+++ b/GeoLib/IO/Legacy/OGSIOVer4.cpp
@@ -36,7 +36,9 @@
 
 #include "FileIO/TINInterface.h"
 
-namespace FileIO
+namespace GeoLib
+{
+namespace IO
 {
 namespace Legacy {
 
@@ -309,7 +311,7 @@ std::string readSurface(std::istream &in,
 		{
 			in >> line; // read value (file name)
 			line = path + line;
-			sfc = TINInterface::readTIN(line, pnt_vec, &errors);
+			sfc = FileIO::TINInterface::readTIN(line, pnt_vec, &errors);
 		}
 		//....................................................................
 		if (line.find("$MAT_GROUP") != std::string::npos) // subkeyword found
@@ -366,7 +368,7 @@ std::string readSurface(std::istream &in,
             }
             else
             {
-            	WARN("readSurface(): cannot create surface %s from polyline %d since polyline is not closed.",  name.c_str(), ply_id);
+                WARN("readSurface(): cannot create surface %s from polyline %d since polyline is not closed.",  name.c_str(), ply_id);
             }
         }
     }
@@ -539,7 +541,7 @@ std::size_t writeTINSurfaces(std::ofstream &os, GeoLib::SurfaceVec const* sfcs_v
 		os << "\t\t" << sfc_name << "\n";
 		// create tin file
 		sfc_name = path + sfc_name;
-		TINInterface::writeSurfaceAsTIN(*(*sfcs)[k], sfc_name.c_str());
+		FileIO::TINInterface::writeSurfaceAsTIN(*(*sfcs)[k], sfc_name.c_str());
 		sfc_count++;
 	}
 	return sfc_count;
@@ -689,4 +691,5 @@ void writeAllDataToGLIFileV4 (const std::string& fname, const GeoLib::GEOObjects
 }
 
 }
-} // end namespace FileIO
+} // end namespace IO
+} // end namespace GeoLib
diff --git a/FileIO/Legacy/OGSIOVer4.h b/GeoLib/IO/Legacy/OGSIOVer4.h
similarity index 93%
rename from FileIO/Legacy/OGSIOVer4.h
rename to GeoLib/IO/Legacy/OGSIOVer4.h
index 21dc3b8b082c996e14bba9188032be724513417d..3f97d5bc657c2270ec6efc25f8f2dd81cf81f440 100644
--- a/FileIO/Legacy/OGSIOVer4.h
+++ b/GeoLib/IO/Legacy/OGSIOVer4.h
@@ -20,10 +20,9 @@
 
 namespace GeoLib
 {
-    class GEOObjects;
-}
+class GEOObjects;
 
-namespace FileIO
+namespace IO
 {
 namespace Legacy {
 
@@ -44,6 +43,7 @@ void writeGLIFileV4 (const std::string& fname,
 void writeAllDataToGLIFileV4 (const std::string& fname, const GeoLib::GEOObjects& geo);
 
 }
-} // end namespace FileIO
+} // end namespace IO
+} // end namespace GeoLib
 
 #endif /* OGSIOVER4_H_ */
diff --git a/FileIO/readGeometryFromFile.cpp b/GeoLib/IO/readGeometryFromFile.cpp
similarity index 84%
rename from FileIO/readGeometryFromFile.cpp
rename to GeoLib/IO/readGeometryFromFile.cpp
index 3a84b33fa553fdd26a7bc9a019fc4c4e5370f131..e22a269d407432fabb42c80f15a0c0e7fa17187c 100644
--- a/FileIO/readGeometryFromFile.cpp
+++ b/GeoLib/IO/readGeometryFromFile.cpp
@@ -15,11 +15,13 @@
 #include "BaseLib/FileTools.h"
 
 #include "FileIO/XmlIO/Boost/BoostXmlGmlInterface.h"
-#include "FileIO/Legacy/OGSIOVer4.h"
+#include "GeoLib/IO/Legacy/OGSIOVer4.h"
 
 #include "GeoLib/GEOObjects.h"
 
-namespace FileIO
+namespace GeoLib
+{
+namespace IO
 {
 void
 readGeometryFromFile(std::string const& fname, GeoLib::GEOObjects & geo_objs)
@@ -30,7 +32,8 @@ readGeometryFromFile(std::string const& fname, GeoLib::GEOObjects & geo_objs)
 	} else {
 		std::vector<std::string> errors;
 		std::string geo_name(BaseLib::extractBaseNameWithoutExtension(fname));
-		FileIO::Legacy::readGLIFileV4(fname, geo_objs, geo_name, errors);
+		GeoLib::IO::Legacy::readGLIFileV4(fname, geo_objs, geo_name, errors);
 	}
 }
 }
+}
diff --git a/FileIO/readGeometryFromFile.h b/GeoLib/IO/readGeometryFromFile.h
similarity index 93%
rename from FileIO/readGeometryFromFile.h
rename to GeoLib/IO/readGeometryFromFile.h
index e546528867307f941ec649acaa3324d4cf915580..fe0156a04676a96f03534d48b3d499a547f9ae6b 100644
--- a/FileIO/readGeometryFromFile.h
+++ b/GeoLib/IO/readGeometryFromFile.h
@@ -18,10 +18,13 @@ namespace GeoLib
 	class GEOObjects;
 }
 
-namespace FileIO
+namespace GeoLib
+{
+namespace IO
 {
 	void
 	readGeometryFromFile(std::string const& fname, GeoLib::GEOObjects & geo_objs);
 }
+}
 
 #endif // READGEOMETRYFROMFILE_H
diff --git a/FileIO/writeGeometryToFile.cpp b/GeoLib/IO/writeGeometryToFile.cpp
similarity index 87%
rename from FileIO/writeGeometryToFile.cpp
rename to GeoLib/IO/writeGeometryToFile.cpp
index 758cbf7600994b5fc58e11d222415ee7e551a516..a41461c1dca218c6d2f0bd3b0e54277eebd5f181 100644
--- a/FileIO/writeGeometryToFile.cpp
+++ b/GeoLib/IO/writeGeometryToFile.cpp
@@ -13,11 +13,13 @@
 #include "BaseLib/FileTools.h"
 
 #include "FileIO/XmlIO/Boost/BoostXmlGmlInterface.h"
-#include "FileIO/Legacy/OGSIOVer4.h"
+#include "GeoLib/IO/Legacy/OGSIOVer4.h"
 
 #include "GeoLib/GEOObjects.h"
 
-namespace FileIO
+namespace GeoLib
+{
+namespace IO
 {
 void writeGeometryToFile(std::string const& geo_name,
 	GeoLib::GEOObjects& geo_objs, std::string const& fname)
@@ -28,10 +30,11 @@ void writeGeometryToFile(std::string const& geo_name,
 		xml.setNameForExport(geo_name);
 		xml.writeToFile(fname);
 	} else if (extension == "gli" || extension == "GLI") {
-		FileIO::Legacy::writeGLIFileV4(fname, geo_name, geo_objs);
+		GeoLib::IO::Legacy::writeGLIFileV4(fname, geo_name, geo_objs);
 	} else {
 		ERR("Writing of geometry failed, since it was not possible to determine"
 			" the required format from file extension.");
 	}
 }
 }
+}
diff --git a/FileIO/writeGeometryToFile.h b/GeoLib/IO/writeGeometryToFile.h
similarity index 95%
rename from FileIO/writeGeometryToFile.h
rename to GeoLib/IO/writeGeometryToFile.h
index af8be4f18333f3003ac4d72969a59f0932740e38..19459e57174509f7b017984d15cf91f50707f603 100644
--- a/FileIO/writeGeometryToFile.h
+++ b/GeoLib/IO/writeGeometryToFile.h
@@ -15,10 +15,9 @@
 
 namespace GeoLib
 {
-	class GEOObjects;
-}
+class GEOObjects;
 
-namespace FileIO
+namespace IO
 {
 
 /// Write geometry given by the \c geo_objs object and specified by the name
@@ -28,5 +27,6 @@ namespace FileIO
 void writeGeometryToFile(std::string const& geo_name,
 	GeoLib::GEOObjects& geo_objs, std::string const& fname);
 }
+}
 
 #endif // WRITEGEOMETRYTOFILE_H
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index cd2f627f592d4c2020b6e6a52ed107f7d856557f..bcc9f942baeab3fac7012440348a322b076714fa 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -12,6 +12,7 @@ APPEND_SOURCE_FILES(TEST_SOURCES AssemblerLib)
 APPEND_SOURCE_FILES(TEST_SOURCES BaseLib)
 APPEND_SOURCE_FILES(TEST_SOURCES FileIO)
 APPEND_SOURCE_FILES(TEST_SOURCES GeoLib)
+APPEND_SOURCE_FILES(TEST_SOURCES GeoLib/IO)
 APPEND_SOURCE_FILES(TEST_SOURCES InSituLib)
 APPEND_SOURCE_FILES(TEST_SOURCES MathLib)
 APPEND_SOURCE_FILES(TEST_SOURCES MeshLib)
diff --git a/Tests/FileIO/TestGLIReader.cpp b/Tests/GeoLib/IO/TestGLIReader.cpp
similarity index 89%
rename from Tests/FileIO/TestGLIReader.cpp
rename to Tests/GeoLib/IO/TestGLIReader.cpp
index 12fd2c5813b7d2b29d759d18ff3b9f467b2e36de..9f26262c7fc6b08aa111c3f92b13daee23811641 100644
--- a/Tests/FileIO/TestGLIReader.cpp
+++ b/Tests/GeoLib/IO/TestGLIReader.cpp
@@ -16,7 +16,7 @@
 #include "gtest/gtest.h"
 
 #include "BaseLib/BuildInfo.h"
-#include "FileIO/Legacy/OGSIOVer4.h"
+#include "GeoLib/IO/Legacy/OGSIOVer4.h"
 #include "GeoLib/GEOObjects.h"
 
 class OGSIOVer4InterfaceTest : public ::testing::Test
@@ -58,7 +58,7 @@ TEST_F(OGSIOVer4InterfaceTest, SimpleTIN)
 	GeoLib::GEOObjects geometries;
 	std::vector<std::string> errors;
 	std::string geometry_name("TestGeometry");
-	FileIO::Legacy::readGLIFileV4(_gli_fname, geometries, geometry_name, errors);
+	GeoLib::IO::Legacy::readGLIFileV4(_gli_fname, geometries, geometry_name, errors);
 
 	std::vector<GeoLib::Surface*> const*
 		sfcs(geometries.getSurfaceVec(geometry_name));
@@ -81,7 +81,7 @@ TEST_F(OGSIOVer4InterfaceTest, StillCorrectTINWihtAdditionalValueAtEndOfLine)
 	GeoLib::GEOObjects geometries;
 	std::vector<std::string> errors;
 	std::string geometry_name("TestGeometry");
-	FileIO::Legacy::readGLIFileV4(_gli_fname, geometries, geometry_name, errors);
+	GeoLib::IO::Legacy::readGLIFileV4(_gli_fname, geometries, geometry_name, errors);
 
 	std::vector<GeoLib::Surface*> const*
 		sfcs(geometries.getSurfaceVec(geometry_name));
@@ -103,7 +103,7 @@ TEST_F(OGSIOVer4InterfaceTest, InvalidTIN_ZeroAreaTri)
 	GeoLib::GEOObjects geometries;
 	std::vector<std::string> errors;
 	std::string geometry_name("TestGeometry");
-	FileIO::Legacy::readGLIFileV4(_gli_fname, geometries, geometry_name, errors);
+	GeoLib::IO::Legacy::readGLIFileV4(_gli_fname, geometries, geometry_name, errors);
 
 	std::vector<GeoLib::Surface*> const*
 		sfcs(geometries.getSurfaceVec(geometry_name));
@@ -126,7 +126,7 @@ TEST_F(OGSIOVer4InterfaceTest, InvalidTIN_LineDoesNotStartWithID)
 	GeoLib::GEOObjects geometries;
 	std::vector<std::string> errors;
 	std::string geometry_name("TestGeometry");
-	FileIO::Legacy::readGLIFileV4(_gli_fname, geometries, geometry_name, errors);
+	GeoLib::IO::Legacy::readGLIFileV4(_gli_fname, geometries, geometry_name, errors);
 
 	std::vector<GeoLib::Surface*> const*
 		sfcs(geometries.getSurfaceVec(geometry_name));
@@ -148,7 +148,7 @@ TEST_F(OGSIOVer4InterfaceTest, InvalidTIN_PointIsMissing)
 	GeoLib::GEOObjects geometries;
 	std::vector<std::string> errors;
 	std::string geometry_name("TestGeometry");
-	FileIO::Legacy::readGLIFileV4(_gli_fname, geometries, geometry_name, errors);
+	GeoLib::IO::Legacy::readGLIFileV4(_gli_fname, geometries, geometry_name, errors);
 
 	std::vector<GeoLib::Surface*> const*
 		sfcs(geometries.getSurfaceVec(geometry_name));
@@ -169,7 +169,7 @@ TEST_F(OGSIOVer4InterfaceTest, InvalidTIN_CoordOfPointIsMissing)
 	GeoLib::GEOObjects geometries;
 	std::vector<std::string> errors;
 	std::string geometry_name("TestGeometry");
-	FileIO::Legacy::readGLIFileV4(_gli_fname, geometries, geometry_name, errors);
+	GeoLib::IO::Legacy::readGLIFileV4(_gli_fname, geometries, geometry_name, errors);
 
 	std::vector<GeoLib::Surface*> const*
 		sfcs(geometries.getSurfaceVec(geometry_name));
@@ -190,7 +190,7 @@ TEST_F(OGSIOVer4InterfaceTest, SimpleTIN_AdditionalEmptyLinesAtEnd)
 	GeoLib::GEOObjects geometries;
 	std::vector<std::string> errors;
 	std::string geometry_name("TestGeometry");
-	FileIO::Legacy::readGLIFileV4(_gli_fname, geometries, geometry_name, errors);
+	GeoLib::IO::Legacy::readGLIFileV4(_gli_fname, geometries, geometry_name, errors);
 
 	std::vector<GeoLib::Surface*> const*
 		sfcs(geometries.getSurfaceVec(geometry_name));
@@ -200,4 +200,3 @@ TEST_F(OGSIOVer4InterfaceTest, SimpleTIN_AdditionalEmptyLinesAtEnd)
 
 	std::remove(tin_fname.c_str());
 }
-