diff --git a/src/delaunay.c b/src/delaunay.c
index 939e2f8e12f45119ea37752d74445bfabcc85d97..68ce2e2aa83e4550b4be5b789f823b347b5c4881 100644
--- a/src/delaunay.c
+++ b/src/delaunay.c
@@ -13,78 +13,23 @@
 
 
 
-
-
-
-int comparePointsByX (const void * a, const void * b) {
-   vertex* pointA = (vertex*) a;
-   vertex* pointB = (vertex*) b;
-   if(pointA->x > pointB->x)
-	   return 1;
-   if(pointA->x < pointB->x)
-	   return -1;
-   return 0;
+double distanceSquared(vertex p1, vertex p2) {
+	double x = p1.x - p2.x;
+	double y = p1.y-p2.y;
+	return (x*x+y*y);
 }
 
 
 
-
-/*int reportLine(vertex* p, int size, FILE *out) {
-	line l = {p[0], p[1]};
-	svgDrawLine(l, out);
-	l.a = p[0];
-	l.b = p[2];
-	svgDrawLine(l, out);
-	return 1;
-}*/
-
 void reportTriangle(vertex a, vertex b, vertex c) {
-
-//	qsort (p, size, sizeof(*p), comparePointsByX);
-//
-//	char *color = "255,0,0";
 #ifdef OUTPUTFILE
 	svgDrawTriangle(a, b, c);
 #endif
 
-//	edge l = {p[0], p[1]};
-//	svgDrawLine(l, out, color);
-//	l.b = p[2];
-//	svgDrawLine(l, out, color);
-//	l.a = p[1];
-//	svgDrawLine(l, out, color);
-
 }
 
 
 
-
-
-
-//http://mathforum.org/library/drmath/view/54323.html
-circle circle_vvv(vertex v1, vertex v2, vertex v3)
-{
-	circle c;
-    double bx = v1.x; double by = v1.y;
-    double cx = v2.x; double cy = v2.y;
-    double dx = v3.x; double dy = v3.y;
-    double temp = cx*cx+cy*cy;
-    double bc = (bx*bx + by*by - temp)/2.0;
-    double cd = (temp - dx*dx - dy*dy)/2.0;
-    double det = (bx-cx)*(cy-dy)-(cx-dx)*(by-cy);
-    if (fabs(det) < 1.0e-6) {
-        c.center.x = c.center.y = 1.0;
-        return c;
-        }
-    det = 1/det;
-    c.center.x = (bc*(cy-dy)-cd*(by-cy))*det;
-    c.center.y = ((bx-cx)*cd-(cx-dx)*bc)*det;
-    cx = c.center.x; cy = c.center.y;
-    c.radius = distance(v1, c.center);
-    return c;
-}
-
-
 double det2(double a, double b, double c, double d) {
 	return a*d-b*c;
 }
@@ -102,34 +47,14 @@ void circleCenter(const vertex* v1, const vertex* v2, const vertex* v3,
 	center->y = det2(ax, cx, ay, cy) / det;
 }
 
-/*
- * https://stackoverflow.com/questions/22791951/algorithm-to-find-an-arc-its-center-radius-and-angles-given-3-points
- * https://de.wikipedia.org/wiki/Cramersche_Regel
- * https://de.wikipedia.org/wiki/Determinante
- */
-//TODO seperate radius from this function
+
 circle circleFrom3Points(vertex v1, vertex v2, vertex v3) {
 	circle c;
 	circleCenter(&v1, &v2, &v3, &c.center);
-	c.radius = sqrt((v1.x-c.center.x)*(v1.x-c.center.x)+(v1.y-c.center.y)*(v1.y-c.center.y));
+	c.radius = distanceSquared((v1),(c.center));
 	return c;
 }
 
-/*void reportTriangle(struct Triangle triangle) {
-	printf("%f, %f - %f, %f - %f, %f\n", triangle.a.x, triangle.a.y, triangle.b.x, triangle.b.y, triangle.c.x, triangle.c.y);
-}*/
-void printPoint(vertex point) {
-	//printf("%f, %f\n", point.x, point.y);
-}
-
-
-
-
-
-double calcArea(vertex p, vertex q, vertex r) {
-	//return 0.5*(-q.x*p.y+r.x*p.y+p.x*q.y-r.x*q.y-p.x*r.y+q.x*r.y);
-	return 0.5*(p.x*(q.y-r.y)-p.y*(q.x-r.x)+(q.x*r.y-q.y*r.x));
-}
 
 /**
  *
@@ -141,8 +66,8 @@ double distance(vertex p1, vertex p2) {
 	return hypot(p1.x - p2.x, p1.y-p2.y);
 }
 
-//https://math.stackexchange.com/questions/1232773/is-the-point-on-the-left-or-the-right-of-the-vector-in-2d-space
-//https://betterexplained.com/articles/cross-product/
+
+
 /**
  *
  * @param p
@@ -172,8 +97,6 @@ vertex vector(vertex a, vertex b) {
 }
 
 /**
- * law of cosines https://www.mathsisfun.com/algebra/trig-cosine-law.html
- * other solutions https://stackoverflow.com/questions/1211212/how-to-calculate-an-angle-from-three-points
  * @param q
  * @param p
  * @param r
@@ -191,15 +114,15 @@ int firstDelaunayEdgeIncidentTo(int j, vertex* S, int size) {
 	double minDist, dist;
 	if(j != 0) {
 		k = 0;
-		minDist = distance(S[j], S[0]);
+		minDist = distanceSquared(S[j], S[0]);
 	} else /*if(j != 1)*/ {
 		k = 1;
-		minDist = distance(S[j], S[1]);
+		minDist = distanceSquared(S[j], S[1]);
 	}
 	//TODO erst bei j anfangen? problem: es ist nicht unbedingt die kleinste seite, wenn wir spaeter anfangen
 	for(int i = 0; i < size; i++) {
 		if(j != i) {
-			dist = distance(S[j], S[i]);
+			dist = distanceSquared(S[j], S[i]);
 			if(dist < minDist) {
 				k = i;
 				minDist = dist;
@@ -209,14 +132,6 @@ int firstDelaunayEdgeIncidentTo(int j, vertex* S, int size) {
 	return k;
 }
 
-int arrayContains(int *jAlreadyUsed, int numberOfJ, int j){
-	for(int i = 0; i < numberOfJ; i++) {
-		if(jAlreadyUsed[i] == j) {
-			return 1;
-		}
-	}
-	return 0;
-}
 
 void clockwiseNextDelaunayEdge(const int *p, const int *q, int *r, const vertex *S, const int *size, int *right) {
 	//0: r not initialized, 1: r is left, 2: r is right
@@ -238,7 +153,7 @@ void clockwiseNextDelaunayEdge(const int *p, const int *q, int *r, const vertex
 				c = circleFrom3Points(S[*p], S[*q], S[*r]);
 			} else {
 				//if inside circle: calculate new circle, else: do nothing
-				if(distance(c.center, S[i]) < c.radius) {
+				if(distanceSquared(c.center, S[i]) < c.radius) {
 					*r = i;
 					c = circleFrom3Points(S[*p], S[*q], S[*r]);
 				}
@@ -289,11 +204,3 @@ void delaunayCws(vertex* S, int size) {
 	}
 }
 
-//https://stackoverflow.com/questions/29762048/c-structure-to-string
-char* vertexToString(vertex v) {
-	int len = 0;
-	len = snprintf(NULL, len, "%f,%f", v.x, v.y);
-	char* str = malloc(sizeof(char) * len + 1);
-	snprintf(str, sizeof(str), "%f,%f", v.x, v.y);
-	return str;
-}
diff --git a/src/delaunay.h b/src/delaunay.h
index 1773204536702b7ae45f6bd7fde89dfce0494630..982805d9995fa9caa07afadae414479217a23d62 100644
--- a/src/delaunay.h
+++ b/src/delaunay.h
@@ -18,7 +18,6 @@
 
 
 void reportTriangle(vertex, vertex, vertex);
-circle circle_vvv(vertex, vertex, vertex);
 vertex vector(vertex, vertex);
 double distance(vertex, vertex);
 void printPoint(vertex);
diff --git a/src/helper.c b/src/helper.c
index 18bfaa8a03956bf49847f28a696baa78a3f7a016..de692406927ada0eeaa70b48c3b69a13784487a0 100644
--- a/src/helper.c
+++ b/src/helper.c
@@ -23,7 +23,7 @@ void svgDrawCircle(circle c) {
 
 void svgDrawTriangle(vertex a, vertex b, vertex c) {
 #ifdef OUTPUTFILE
-	fprintf(out, "<polygon vector-effect=\"non-scaling-stroke\" points=\"%f,%f %f,%f %f,%f\" style=\"fill:none;stroke:black;stroke-width:1\" />\n", a.x, a.y, b.x, b.y, c.x, c.y);
+	fprintf(out, "<polygon vector-effect=\"non-scaling-stroke\" points=\"%f,%f %f,%f %f,%f\" style=\"fill:none;stroke:red;stroke-width:1\" />\n", a.x, a.y, b.x, b.y, c.x, c.y);
 #endif
 }
 
diff --git a/src/helper.h b/src/helper.h
index c9eafc8ad40e5712d4e4c4b6312b74a31e4462d1..bf9c39f8ab908f0c8000197bffe00c42b9a9574f 100644
--- a/src/helper.h
+++ b/src/helper.h
@@ -11,7 +11,7 @@
 /**
  * use if you want to have an output
  */
-#define OUTPUTFILE "output.html"
+//#define OUTPUTFILE "output.html"
 
 #include <stdio.h>
 
@@ -22,8 +22,8 @@ double viewboxMinX;
 double viewboxMinY;
 double viewboxMaxX;
 double viewboxMaxY;
-#define W 400 //size of the svg-File
-#define R 1.0 //Point size
+#define W 1000 //size of the svg-File
+#define R .2 //Point size
 #endif
 
 
diff --git a/src/main.c b/src/main.c
index 21c658c916f0e7073f68f26e79c9ba3130e109d8..4cff534f5860006cc2694b7deb9117472270cd4f 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2,12 +2,13 @@
 /**
  * use if you want to use command line input
  */
-#define INPUT
+//#define INPUT
 
 /**
  * used for doing the Runtimetest
  */
-//#define RUNTIMETEST
+#define RUNTIMETEST
+
 /*
  * main.c
  *