diff --git a/src/instance/graph/Graph.cpp b/src/instance/graph/Graph.cpp
index acc8f2a63b6512c8af5d0dfd38329617432e9c89..955625188371140260331ea61f3ce0388be85cba 100644
--- a/src/instance/graph/Graph.cpp
+++ b/src/instance/graph/Graph.cpp
@@ -18,7 +18,7 @@
 
 std::vector<Line> Graph::addLine(Line& line) {
     //Add line stops to nodes
-    for(int i = 0; i < line.getNodes().size(); ++i)
+    for(int i = 0; i < line.size(); ++i)
     {
         nodesVector.at(line.getNode(i)).addBusLine(line, i);
     }
diff --git a/src/instance/graph/Line.h b/src/instance/graph/Line.h
index f2bd910474702a8ad90fcb8b1b20adef511dec34..c17a56fbec42c44d48ed8bef4f9c60ac139ce9c7 100644
--- a/src/instance/graph/Line.h
+++ b/src/instance/graph/Line.h
@@ -48,6 +48,9 @@ public:
      */
     [[nodiscard]] int getInstant(int stationIdx, int scheduleIdx) const { return _timetables.at(stationIdx).at(scheduleIdx); }
 
+    [[nodiscard]] size_t size() const {return _nodes.size();}
+    [[nodiscard]] size_t scheduleSize() const {return _timetables.empty() ? 0 : _timetables.at(0).size();}
+
     [[nodiscard]] bool check() const;
     [[nodiscard]] bool checkSchedules() const;
 
diff --git a/test/debug.cpp b/test/debug.cpp
index f4201193360c7b40891aa15055706c8e4227421b..a8a617b5a232276814475fef844430a274d34e0f 100644
--- a/test/debug.cpp
+++ b/test/debug.cpp
@@ -18,7 +18,7 @@ int main() {
     Graph graphFromSingleFile("../resources/test/instances/" + instanceFolder + datFile);
     graphFromSingleFile.exportGraphToFiles("../resources/test/outputs/" + instanceFolder);
     for(auto& ptLine : graphFromSingleFile.getPTLines()) {
-        for(int i = 0; i < ptLine.getNodes().size(); ++i) {
+        for(int i = 0; i < ptLine.size(); ++i) {
             for (auto& startingTime: ptLine.getTimetable(i)) {
                 TransitShortestPathPrecompute::executeAlgorithm(graphFromSingleFile, ptLine.getNode(i),startingTime);
             }