diff --git a/src/main/java/Evaluators/EvaluatorNESW.java b/src/main/java/Evaluators/EvaluatorNESW.java
index e3dd4145698aca10f51b664badff8615816ea8fe..cab1dd5127e65126c01e86c826c9777ea76a6d51 100644
--- a/src/main/java/Evaluators/EvaluatorNESW.java
+++ b/src/main/java/Evaluators/EvaluatorNESW.java
@@ -2,7 +2,6 @@ package Evaluators;
 
 import Interfaces.Evaluator;
 import MainClasses.Candidate;
-import MainClasses.Config;
 import MainClasses.Vertex;
 
 public class EvaluatorNESW implements Evaluator {
@@ -66,7 +65,6 @@ public class EvaluatorNESW implements Evaluator {
             }
         }
         overlaps /= 2;
-        overlaps = overlaps;
 
         return overlaps;
     }
diff --git a/src/main/java/Interfaces/Visualizer.java b/src/main/java/Interfaces/Visualizer.java
index a6321784c53e8b5af6193c12de551f2c48b17109..dadc66645ac56f53ffc01f204243223edeca6eac 100644
--- a/src/main/java/Interfaces/Visualizer.java
+++ b/src/main/java/Interfaces/Visualizer.java
@@ -2,9 +2,9 @@ package Interfaces;
 
 import Enums.State;
 import MainClasses.Candidate;
+import MainClasses.Cell;
 import MainClasses.GeneticAlgorithm;
 import MainClasses.Vertex;
-import MainClasses.Cell;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -52,6 +52,7 @@ public interface Visualizer {
             vertex.x *= 2;
             vertex.y += Math.abs(minY);
             vertex.y *= 2;
+            vertex.isStretched = true;
         }
 
         // Add vertexes and connections to 2d array
diff --git a/src/main/java/MainClasses/Vertex.java b/src/main/java/MainClasses/Vertex.java
index ee55b92d5f44b95dfaddd0df0194188aba78d0b8..a2d7519f3a3370e705eb215a27dcf918b7408013 100644
--- a/src/main/java/MainClasses/Vertex.java
+++ b/src/main/java/MainClasses/Vertex.java
@@ -5,11 +5,13 @@ public class Vertex {
     public int x;
     public int y;
     public int outgoingDirection;
+    public boolean isStretched; // Meaning it has room for connections
 
     public Vertex(int x, int y, int outgoingDirection) {
         this.x = x;
         this.y = y;
         this.outgoingDirection = outgoingDirection;
+        this.isStretched = false;
     }
 
     public boolean equalsPosition(Vertex vertex) {
@@ -17,16 +19,21 @@ public class Vertex {
     }
 
     public boolean neighbouringPosition(Vertex vertex) {
-        if (x == vertex.x && y == vertex.y + 1) {
+        int neighbourDistance = 1;
+        if (isStretched) {
+            neighbourDistance *= 2;
+        }
+
+        if (x == vertex.x && y == vertex.y + neighbourDistance) {
             return true; // South
         }
-        else if (x == vertex.x && y == vertex.y -1) {
+        else if (x == vertex.x && y == vertex.y -neighbourDistance) {
             return true; // North
         }
-        else if (x == vertex.x + 1 && y == vertex.y) {
+        else if (x == vertex.x + neighbourDistance && y == vertex.y) {
             return true; // West
         }
-        else if (x == vertex.x - 1 && y == vertex.y) {
+        else if (x == vertex.x - neighbourDistance && y == vertex.y) {
             return true; // East
         }
         else {
diff --git a/src/main/java/Visualizers/BestFoldingToImage.java b/src/main/java/Visualizers/BestFoldingToImage.java
index 00d1830228e3b680c50d028363e56fc3d6b9e859..1481b874b611fd36212303bb76ec4e031fe878f9 100644
--- a/src/main/java/Visualizers/BestFoldingToImage.java
+++ b/src/main/java/Visualizers/BestFoldingToImage.java
@@ -3,19 +3,15 @@ package Visualizers;
 import Enums.State;
 import Evaluators.EvaluatorNESW;
 import Interfaces.Visualizer;
-import MainClasses.Candidate;
-import MainClasses.Config;
-import MainClasses.GeneticAlgorithm;
-import MainClasses.Vertex;
-import MainClasses.Cell;
+import MainClasses.*;
 
-import java.nio.file.Files;
-import java.nio.file.Paths;
 import javax.imageio.ImageIO;
 import java.awt.*;
 import java.awt.image.BufferedImage;
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.ArrayList;
 
 public class BestFoldingToImage implements Visualizer {
@@ -145,7 +141,7 @@ public class BestFoldingToImage implements Visualizer {
         //TODO Get the labels from the new Generation class?
         EvaluatorNESW evaluator = new EvaluatorNESW(1,isHydrophobic);
         int bonds = evaluator.evaluateBonds(bestCandidateOfGeneration);
-        int overlaps = evaluator.evaluateBonds(bestCandidateOfGeneration);
+        int overlaps = evaluator.evaluateOverlaps(bestCandidateOfGeneration);
         String label = "Gen: " + geneticAlgorithm.generation
                 + "     Fitness: " + String.format("%.4f", bestCandidateOfGeneration.getFitness())
                 + "     H/H Bonds: " + bonds
diff --git a/src/main/java/Visualizers/GenerationOverviewToConsole.java b/src/main/java/Visualizers/GenerationOverviewToConsole.java
index 9ee07807d0911126f4c0fbbed15567df7bdf5456..8fa9fb297e30d38d59ddd4ce6dd13ef76495e0f3 100644
--- a/src/main/java/Visualizers/GenerationOverviewToConsole.java
+++ b/src/main/java/Visualizers/GenerationOverviewToConsole.java
@@ -5,9 +5,6 @@ import Interfaces.Visualizer;
 import MainClasses.Candidate;
 import MainClasses.Config;
 import MainClasses.GeneticAlgorithm;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
 
 public class GenerationOverviewToConsole implements Visualizer {
 
@@ -33,7 +30,7 @@ public class GenerationOverviewToConsole implements Visualizer {
     }
 
     int bonds = bondsOverlapsEvaluator.evaluateBonds(bestCandidateOfGeneration);
-    int overlaps = bondsOverlapsEvaluator.evaluateBonds(bestCandidateOfGeneration);
+    int overlaps = bondsOverlapsEvaluator.evaluateOverlaps(bestCandidateOfGeneration);
 
     System.out.println("Generation " + geneticAlgorithm.generation + "/" + config.getTotalGenerations() + ":");
     System.out.println("Population size: " + generation.length);
diff --git a/src/main/java/Visualizers/GenerationProgressToLog.java b/src/main/java/Visualizers/GenerationProgressToLog.java
index 47131d6fee8031aebfedb9b647f459f30f2ba3b2..a12eae253f7314b001b5ce517884bd4b7c5dc312 100644
--- a/src/main/java/Visualizers/GenerationProgressToLog.java
+++ b/src/main/java/Visualizers/GenerationProgressToLog.java
@@ -5,6 +5,7 @@ import Interfaces.Visualizer;
 import MainClasses.Candidate;
 import MainClasses.Config;
 import MainClasses.GeneticAlgorithm;
+
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
@@ -52,7 +53,7 @@ public class GenerationProgressToLog implements Visualizer {
     }
 
     int bonds = bondsOverlapsEvaluator.evaluateBonds(bestCandidateOfGeneration);
-    int overlaps = bondsOverlapsEvaluator.evaluateBonds(bestCandidateOfGeneration);
+    int overlaps = bondsOverlapsEvaluator.evaluateOverlaps(bestCandidateOfGeneration);
 
     String log = String.format("%d\t%.4f\t%.4f\t%.4f\t %d\t%d\n",
         geneticAlgorithm.generation,