diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..a01fdd05e3db6046195f8c59fcf20c21c9b296b6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+Programm/elm-stuff/*
+Programm/index.html
diff --git a/Programm/elm.json b/Programm/elm.json
new file mode 100644
index 0000000000000000000000000000000000000000..26cb9c1fd79ba8d1a0a4a87272103e28e684b69b
--- /dev/null
+++ b/Programm/elm.json
@@ -0,0 +1,53 @@
+{
+    "type": "application",
+    "source-directories": [
+        "src"
+    ],
+    "elm-version": "0.19.1",
+    "dependencies": {
+        "direct": {
+            "avh4/elm-color": "1.0.0",
+            "elm/browser": "1.0.2",
+            "elm/core": "1.0.5",
+            "elm/html": "1.0.0",
+            "elm/http": "2.0.0",
+            "elm/parser": "1.1.0",
+            "elm/time": "1.0.0",
+            "elm-community/maybe-extra": "5.2.0",
+            "elm-community/typed-svg": "7.0.0",
+            "ericgj/elm-csv-decode": "2.0.1",
+            "gampleman/elm-visualization": "2.3.0",
+            "hecrj/html-parser": "2.4.0",
+            "justinmimbs/date": "3.2.1",
+            "lovasoa/elm-csv": "1.1.7"
+        },
+        "indirect": {
+            "elm/bytes": "1.0.8",
+            "elm/file": "1.0.5",
+            "elm/json": "1.1.3",
+            "elm/random": "1.0.0",
+            "elm/svg": "1.0.1",
+            "elm/url": "1.0.0",
+            "elm/virtual-dom": "1.0.2",
+            "elm-community/list-extra": "8.3.1",
+            "folkertdev/elm-deque": "3.0.1",
+            "folkertdev/one-true-path-experiment": "6.0.0",
+            "folkertdev/svg-path-lowlevel": "4.0.1",
+            "ianmackenzie/elm-1d-parameter": "1.0.1",
+            "ianmackenzie/elm-float-extra": "1.1.0",
+            "ianmackenzie/elm-geometry": "3.9.0",
+            "ianmackenzie/elm-interval": "2.0.0",
+            "ianmackenzie/elm-triangular-mesh": "1.1.0",
+            "ianmackenzie/elm-units": "2.9.0",
+            "ianmackenzie/elm-units-interval": "2.3.0",
+            "ianmackenzie/elm-units-prefixed": "2.7.0",
+            "justinmimbs/time-extra": "1.1.0",
+            "rtfeldman/elm-hex": "1.0.0",
+            "ryannhg/date-format": "2.3.0"
+        }
+    },
+    "test-dependencies": {
+        "direct": {},
+        "indirect": {}
+    }
+}
diff --git a/Programm/src/StudentsPerformance.csv b/Programm/src/StudentsPerformance.csv
new file mode 100644
index 0000000000000000000000000000000000000000..4fe706363c9a4502bc267410779be4b1ca0bfcf1
--- /dev/null
+++ b/Programm/src/StudentsPerformance.csv
@@ -0,0 +1,1001 @@
+"gender","race/ethnicity","parental level of education","lunch","test preparation course","math score","reading score","writing score"
+"female","group B","bachelor's degree","standard","none","72","72","74"
+"female","group C","some college","standard","completed","69","90","88"
+"female","group B","master's degree","standard","none","90","95","93"
+"male","group A","associate's degree","free/reduced","none","47","57","44"
+"male","group C","some college","standard","none","76","78","75"
+"female","group B","associate's degree","standard","none","71","83","78"
+"female","group B","some college","standard","completed","88","95","92"
+"male","group B","some college","free/reduced","none","40","43","39"
+"male","group D","high school","free/reduced","completed","64","64","67"
+"female","group B","high school","free/reduced","none","38","60","50"
+"male","group C","associate's degree","standard","none","58","54","52"
+"male","group D","associate's degree","standard","none","40","52","43"
+"female","group B","high school","standard","none","65","81","73"
+"male","group A","some college","standard","completed","78","72","70"
+"female","group A","master's degree","standard","none","50","53","58"
+"female","group C","some high school","standard","none","69","75","78"
+"male","group C","high school","standard","none","88","89","86"
+"female","group B","some high school","free/reduced","none","18","32","28"
+"male","group C","master's degree","free/reduced","completed","46","42","46"
+"female","group C","associate's degree","free/reduced","none","54","58","61"
+"male","group D","high school","standard","none","66","69","63"
+"female","group B","some college","free/reduced","completed","65","75","70"
+"male","group D","some college","standard","none","44","54","53"
+"female","group C","some high school","standard","none","69","73","73"
+"male","group D","bachelor's degree","free/reduced","completed","74","71","80"
+"male","group A","master's degree","free/reduced","none","73","74","72"
+"male","group B","some college","standard","none","69","54","55"
+"female","group C","bachelor's degree","standard","none","67","69","75"
+"male","group C","high school","standard","none","70","70","65"
+"female","group D","master's degree","standard","none","62","70","75"
+"female","group D","some college","standard","none","69","74","74"
+"female","group B","some college","standard","none","63","65","61"
+"female","group E","master's degree","free/reduced","none","56","72","65"
+"male","group D","some college","standard","none","40","42","38"
+"male","group E","some college","standard","none","97","87","82"
+"male","group E","associate's degree","standard","completed","81","81","79"
+"female","group D","associate's degree","standard","none","74","81","83"
+"female","group D","some high school","free/reduced","none","50","64","59"
+"female","group D","associate's degree","free/reduced","completed","75","90","88"
+"male","group B","associate's degree","free/reduced","none","57","56","57"
+"male","group C","associate's degree","free/reduced","none","55","61","54"
+"female","group C","associate's degree","standard","none","58","73","68"
+"female","group B","associate's degree","standard","none","53","58","65"
+"male","group B","some college","free/reduced","completed","59","65","66"
+"female","group E","associate's degree","free/reduced","none","50","56","54"
+"male","group B","associate's degree","standard","none","65","54","57"
+"female","group A","associate's degree","standard","completed","55","65","62"
+"female","group C","high school","standard","none","66","71","76"
+"female","group D","associate's degree","free/reduced","completed","57","74","76"
+"male","group C","high school","standard","completed","82","84","82"
+"male","group E","some college","standard","none","53","55","48"
+"male","group E","associate's degree","free/reduced","completed","77","69","68"
+"male","group C","some college","standard","none","53","44","42"
+"male","group D","high school","standard","none","88","78","75"
+"female","group C","some high school","free/reduced","completed","71","84","87"
+"female","group C","high school","free/reduced","none","33","41","43"
+"female","group E","associate's degree","standard","completed","82","85","86"
+"male","group D","associate's degree","standard","none","52","55","49"
+"male","group D","some college","standard","completed","58","59","58"
+"female","group C","some high school","free/reduced","none","0","17","10"
+"male","group E","bachelor's degree","free/reduced","completed","79","74","72"
+"male","group A","some high school","free/reduced","none","39","39","34"
+"male","group A","associate's degree","free/reduced","none","62","61","55"
+"female","group C","associate's degree","standard","none","69","80","71"
+"female","group D","some high school","standard","none","59","58","59"
+"male","group B","some high school","standard","none","67","64","61"
+"male","group D","some high school","free/reduced","none","45","37","37"
+"female","group C","some college","standard","none","60","72","74"
+"male","group B","associate's degree","free/reduced","none","61","58","56"
+"female","group C","associate's degree","standard","none","39","64","57"
+"female","group D","some college","free/reduced","completed","58","63","73"
+"male","group D","some college","standard","completed","63","55","63"
+"female","group A","associate's degree","free/reduced","none","41","51","48"
+"male","group C","some high school","free/reduced","none","61","57","56"
+"male","group C","some high school","standard","none","49","49","41"
+"male","group B","associate's degree","free/reduced","none","44","41","38"
+"male","group E","some high school","standard","none","30","26","22"
+"male","group A","bachelor's degree","standard","completed","80","78","81"
+"female","group D","some high school","standard","completed","61","74","72"
+"female","group E","master's degree","standard","none","62","68","68"
+"female","group B","associate's degree","standard","none","47","49","50"
+"male","group B","high school","free/reduced","none","49","45","45"
+"male","group A","some college","free/reduced","completed","50","47","54"
+"male","group E","associate's degree","standard","none","72","64","63"
+"male","group D","high school","free/reduced","none","42","39","34"
+"female","group C","some college","standard","none","73","80","82"
+"female","group C","some college","free/reduced","none","76","83","88"
+"female","group D","associate's degree","standard","none","71","71","74"
+"female","group A","some college","standard","none","58","70","67"
+"female","group D","some high school","standard","none","73","86","82"
+"female","group C","bachelor's degree","standard","none","65","72","74"
+"male","group C","high school","free/reduced","none","27","34","36"
+"male","group C","high school","standard","none","71","79","71"
+"male","group C","associate's degree","free/reduced","completed","43","45","50"
+"female","group B","some college","standard","none","79","86","92"
+"male","group C","associate's degree","free/reduced","completed","78","81","82"
+"male","group B","some high school","standard","completed","65","66","62"
+"female","group E","some college","standard","completed","63","72","70"
+"female","group D","some college","free/reduced","none","58","67","62"
+"female","group D","bachelor's degree","standard","none","65","67","62"
+"male","group B","some college","standard","none","79","67","67"
+"male","group D","bachelor's degree","standard","completed","68","74","74"
+"female","group D","associate's degree","standard","none","85","91","89"
+"male","group B","high school","standard","completed","60","44","47"
+"male","group C","some college","standard","completed","98","86","90"
+"female","group C","some college","standard","none","58","67","72"
+"female","group D","master's degree","standard","none","87","100","100"
+"male","group E","associate's degree","standard","completed","66","63","64"
+"female","group B","associate's degree","free/reduced","none","52","76","70"
+"female","group B","some high school","standard","none","70","64","72"
+"female","group D","associate's degree","free/reduced","completed","77","89","98"
+"male","group C","high school","standard","none","62","55","49"
+"male","group A","associate's degree","standard","none","54","53","47"
+"female","group D","some college","standard","none","51","58","54"
+"female","group E","bachelor's degree","standard","completed","99","100","100"
+"male","group C","high school","standard","none","84","77","74"
+"female","group B","bachelor's degree","free/reduced","none","75","85","82"
+"female","group D","bachelor's degree","standard","none","78","82","79"
+"female","group D","some high school","standard","none","51","63","61"
+"female","group C","some college","standard","none","55","69","65"
+"female","group C","bachelor's degree","standard","completed","79","92","89"
+"male","group B","associate's degree","standard","completed","91","89","92"
+"female","group C","some college","standard","completed","88","93","93"
+"male","group D","high school","free/reduced","none","63","57","56"
+"male","group E","some college","standard","none","83","80","73"
+"female","group B","high school","standard","none","87","95","86"
+"male","group B","some high school","standard","none","72","68","67"
+"male","group D","some college","standard","completed","65","77","74"
+"male","group D","master's degree","standard","none","82","82","74"
+"female","group A","bachelor's degree","standard","none","51","49","51"
+"male","group D","master's degree","standard","none","89","84","82"
+"male","group C","some high school","free/reduced","completed","53","37","40"
+"male","group E","some college","free/reduced","completed","87","74","70"
+"female","group C","some college","standard","completed","75","81","84"
+"male","group D","bachelor's degree","free/reduced","completed","74","79","75"
+"male","group C","bachelor's degree","standard","none","58","55","48"
+"male","group B","some high school","standard","completed","51","54","41"
+"male","group E","high school","standard","none","70","55","56"
+"female","group C","associate's degree","standard","none","59","66","67"
+"male","group D","some college","standard","completed","71","61","69"
+"female","group D","some high school","standard","none","76","72","71"
+"female","group C","some college","free/reduced","none","59","62","64"
+"female","group E","some college","free/reduced","completed","42","55","54"
+"male","group A","high school","standard","none","57","43","47"
+"male","group D","some college","standard","none","88","73","78"
+"female","group C","some college","free/reduced","none","22","39","33"
+"male","group B","some high school","standard","none","88","84","75"
+"male","group C","associate's degree","free/reduced","none","73","68","66"
+"female","group D","bachelor's degree","standard","completed","68","75","81"
+"male","group E","associate's degree","free/reduced","completed","100","100","93"
+"male","group A","some high school","standard","completed","62","67","69"
+"male","group A","bachelor's degree","standard","none","77","67","68"
+"female","group B","associate's degree","standard","completed","59","70","66"
+"male","group D","bachelor's degree","standard","none","54","49","47"
+"male","group D","some high school","standard","none","62","67","61"
+"female","group C","some college","standard","completed","70","89","88"
+"female","group E","high school","free/reduced","completed","66","74","78"
+"male","group B","some college","free/reduced","none","60","60","60"
+"female","group B","associate's degree","standard","completed","61","86","87"
+"male","group D","associate's degree","free/reduced","none","66","62","64"
+"male","group B","associate's degree","free/reduced","completed","82","78","74"
+"female","group E","some college","free/reduced","completed","75","88","85"
+"male","group B","master's degree","free/reduced","none","49","53","52"
+"male","group C","high school","standard","none","52","53","49"
+"female","group E","master's degree","standard","none","81","92","91"
+"female","group C","bachelor's degree","standard","completed","96","100","100"
+"male","group C","high school","free/reduced","completed","53","51","51"
+"female","group B","master's degree","free/reduced","completed","58","76","78"
+"female","group B","high school","standard","completed","68","83","78"
+"female","group C","some college","free/reduced","completed","67","75","70"
+"male","group A","high school","standard","completed","72","73","74"
+"male","group E","some high school","standard","none","94","88","78"
+"female","group D","some college","standard","none","79","86","81"
+"female","group C","associate's degree","standard","none","63","67","70"
+"female","group C","bachelor's degree","free/reduced","completed","43","51","54"
+"female","group C","master's degree","standard","completed","81","91","87"
+"female","group B","high school","free/reduced","completed","46","54","58"
+"female","group C","associate's degree","standard","completed","71","77","77"
+"female","group B","master's degree","free/reduced","completed","52","70","62"
+"female","group D","some high school","standard","completed","97","100","100"
+"male","group C","master's degree","free/reduced","completed","62","68","75"
+"female","group C","some college","free/reduced","none","46","64","66"
+"female","group E","high school","standard","none","50","50","47"
+"female","group D","associate's degree","standard","none","65","69","70"
+"male","group C","some high school","free/reduced","completed","45","52","49"
+"male","group C","associate's degree","free/reduced","completed","65","67","65"
+"male","group E","high school","standard","none","80","76","65"
+"male","group D","some high school","standard","completed","62","66","68"
+"male","group B","some high school","free/reduced","none","48","52","45"
+"female","group C","bachelor's degree","standard","none","77","88","87"
+"female","group E","associate's degree","standard","none","66","65","69"
+"male","group D","some college","standard","completed","76","83","79"
+"female","group B","some high school","standard","none","62","64","66"
+"male","group D","some college","standard","completed","77","62","62"
+"female","group C","master's degree","standard","completed","69","84","85"
+"male","group D","associate's degree","standard","none","61","55","52"
+"male","group C","some high school","free/reduced","completed","59","69","65"
+"male","group E","high school","free/reduced","none","55","56","51"
+"female","group B","some college","free/reduced","none","45","53","55"
+"female","group B","bachelor's degree","free/reduced","none","78","79","76"
+"female","group C","associate's degree","standard","completed","67","84","86"
+"female","group D","some college","free/reduced","none","65","81","77"
+"male","group C","associate's degree","standard","none","69","77","69"
+"female","group B","associate's degree","standard","none","57","69","68"
+"male","group C","some college","standard","none","59","41","42"
+"male","group D","some high school","standard","completed","74","71","78"
+"male","group E","bachelor's degree","standard","none","82","62","62"
+"male","group E","high school","standard","completed","81","80","76"
+"female","group B","some college","free/reduced","none","74","81","76"
+"female","group B","some college","free/reduced","none","58","61","66"
+"male","group D","some high school","free/reduced","completed","80","79","79"
+"male","group C","some college","free/reduced","none","35","28","27"
+"female","group C","high school","free/reduced","none","42","62","60"
+"male","group C","associate's degree","free/reduced","completed","60","51","56"
+"male","group E","high school","standard","completed","87","91","81"
+"male","group B","some high school","standard","completed","84","83","75"
+"female","group E","associate's degree","free/reduced","completed","83","86","88"
+"female","group C","high school","free/reduced","none","34","42","39"
+"male","group B","high school","free/reduced","none","66","77","70"
+"male","group B","some high school","standard","completed","61","56","56"
+"female","group D","high school","standard","completed","56","68","74"
+"male","group B","associate's degree","standard","none","87","85","73"
+"female","group C","some high school","free/reduced","none","55","65","62"
+"male","group D","some high school","standard","none","86","80","75"
+"female","group B","associate's degree","standard","completed","52","66","73"
+"female","group E","master's degree","free/reduced","none","45","56","54"
+"female","group C","some college","standard","none","72","72","71"
+"male","group D","high school","standard","none","57","50","54"
+"male","group A","some high school","free/reduced","none","68","72","64"
+"female","group C","some college","standard","completed","88","95","94"
+"male","group D","some college","standard","none","76","64","66"
+"male","group C","associate's degree","standard","none","46","43","42"
+"female","group B","bachelor's degree","standard","none","67","86","83"
+"male","group E","some high school","standard","none","92","87","78"
+"male","group C","bachelor's degree","standard","completed","83","82","84"
+"male","group D","associate's degree","standard","none","80","75","77"
+"male","group D","bachelor's degree","free/reduced","none","63","66","67"
+"female","group D","some high school","standard","completed","64","60","74"
+"male","group B","some college","standard","none","54","52","51"
+"male","group C","associate's degree","standard","none","84","80","80"
+"male","group D","high school","free/reduced","completed","73","68","66"
+"female","group E","bachelor's degree","standard","none","80","83","83"
+"female","group D","high school","standard","none","56","52","55"
+"male","group E","some college","standard","none","59","51","43"
+"male","group D","some high school","standard","none","75","74","69"
+"male","group C","associate's degree","standard","none","85","76","71"
+"male","group E","associate's degree","standard","none","89","76","74"
+"female","group B","high school","standard","completed","58","70","68"
+"female","group B","high school","standard","none","65","64","62"
+"male","group C","high school","standard","none","68","60","53"
+"male","group A","some high school","standard","completed","47","49","49"
+"female","group D","some college","free/reduced","none","71","83","83"
+"female","group B","some high school","standard","completed","60","70","70"
+"male","group D","master's degree","standard","none","80","80","72"
+"male","group D","high school","standard","none","54","52","52"
+"female","group E","some college","standard","none","62","73","70"
+"female","group C","associate's degree","free/reduced","none","64","73","68"
+"male","group C","associate's degree","standard","completed","78","77","77"
+"female","group B","some college","standard","none","70","75","78"
+"female","group C","master's degree","free/reduced","completed","65","81","81"
+"female","group C","some high school","free/reduced","completed","64","79","77"
+"male","group C","some college","standard","completed","79","79","78"
+"female","group C","some high school","free/reduced","none","44","50","51"
+"female","group E","high school","standard","none","99","93","90"
+"male","group D","high school","standard","none","76","73","68"
+"male","group D","some high school","free/reduced","none","59","42","41"
+"female","group C","bachelor's degree","standard","none","63","75","81"
+"female","group D","high school","standard","none","69","72","77"
+"female","group D","associate's degree","standard","completed","88","92","95"
+"female","group E","some college","free/reduced","none","71","76","70"
+"male","group C","bachelor's degree","standard","none","69","63","61"
+"male","group C","some college","standard","none","58","49","42"
+"female","group D","associate's degree","free/reduced","none","47","53","58"
+"female","group D","some college","standard","none","65","70","71"
+"male","group B","some college","standard","completed","88","85","76"
+"male","group C","bachelor's degree","standard","none","83","78","73"
+"female","group C","some high school","standard","completed","85","92","93"
+"female","group E","high school","standard","completed","59","63","75"
+"female","group C","some high school","free/reduced","none","65","86","80"
+"male","group B","bachelor's degree","free/reduced","none","73","56","57"
+"male","group D","high school","standard","none","53","52","42"
+"male","group D","high school","standard","none","45","48","46"
+"female","group D","bachelor's degree","free/reduced","none","73","79","84"
+"female","group D","some college","free/reduced","completed","70","78","78"
+"female","group B","some high school","standard","none","37","46","46"
+"male","group B","associate's degree","standard","completed","81","82","82"
+"male","group E","associate's degree","standard","completed","97","82","88"
+"female","group B","some high school","standard","none","67","89","82"
+"male","group B","bachelor's degree","free/reduced","none","88","75","76"
+"male","group E","some high school","standard","completed","77","76","77"
+"male","group C","associate's degree","standard","none","76","70","68"
+"male","group D","some high school","standard","none","86","73","70"
+"male","group C","some high school","standard","completed","63","60","57"
+"female","group E","bachelor's degree","standard","none","65","73","75"
+"male","group D","high school","free/reduced","completed","78","77","80"
+"male","group B","associate's degree","free/reduced","none","67","62","60"
+"male","group A","some high school","standard","completed","46","41","43"
+"male","group E","associate's degree","standard","completed","71","74","68"
+"male","group C","high school","free/reduced","completed","40","46","50"
+"male","group D","associate's degree","free/reduced","none","90","87","75"
+"male","group A","some college","free/reduced","completed","81","78","81"
+"male","group D","some high school","free/reduced","none","56","54","52"
+"female","group C","associate's degree","standard","completed","67","84","81"
+"male","group B","associate's degree","standard","none","80","76","64"
+"female","group C","associate's degree","standard","completed","74","75","83"
+"male","group A","some college","standard","none","69","67","69"
+"male","group E","some college","standard","completed","99","87","81"
+"male","group C","some high school","standard","none","51","52","44"
+"female","group B","associate's degree","free/reduced","none","53","71","67"
+"female","group D","high school","free/reduced","none","49","57","52"
+"female","group B","associate's degree","standard","none","73","76","80"
+"male","group B","bachelor's degree","standard","none","66","60","57"
+"male","group D","bachelor's degree","standard","completed","67","61","68"
+"female","group C","associate's degree","free/reduced","completed","68","67","69"
+"female","group C","bachelor's degree","standard","completed","59","64","75"
+"male","group C","high school","standard","none","71","66","65"
+"female","group D","master's degree","standard","completed","77","82","91"
+"male","group C","associate's degree","standard","none","83","72","78"
+"male","group B","bachelor's degree","standard","none","63","71","69"
+"female","group D","associate's degree","free/reduced","none","56","65","63"
+"female","group C","high school","free/reduced","completed","67","79","84"
+"female","group E","high school","standard","none","75","86","79"
+"female","group C","some college","standard","none","71","81","80"
+"female","group C","some high school","free/reduced","none","43","53","53"
+"female","group C","high school","free/reduced","none","41","46","43"
+"female","group C","some college","standard","none","82","90","94"
+"male","group C","some college","standard","none","61","61","62"
+"male","group A","some college","free/reduced","none","28","23","19"
+"male","group C","associate's degree","standard","completed","82","75","77"
+"female","group B","some high school","standard","none","41","55","51"
+"male","group C","high school","standard","none","71","60","61"
+"male","group C","associate's degree","standard","none","47","37","35"
+"male","group E","associate's degree","standard","completed","62","56","53"
+"male","group B","associate's degree","standard","none","90","78","81"
+"female","group C","bachelor's degree","standard","none","83","93","95"
+"female","group B","some college","free/reduced","none","61","68","66"
+"male","group D","some high school","standard","completed","76","70","69"
+"male","group C","associate's degree","standard","none","49","51","43"
+"female","group B","some high school","free/reduced","none","24","38","27"
+"female","group D","some high school","free/reduced","completed","35","55","60"
+"male","group C","high school","free/reduced","none","58","61","52"
+"female","group C","high school","standard","none","61","73","63"
+"female","group B","high school","standard","completed","69","76","74"
+"male","group D","associate's degree","standard","completed","67","72","67"
+"male","group D","some college","standard","none","79","73","67"
+"female","group C","high school","standard","none","72","80","75"
+"male","group B","some college","standard","none","62","61","57"
+"female","group C","bachelor's degree","standard","completed","77","94","95"
+"male","group D","high school","free/reduced","none","75","74","66"
+"male","group E","associate's degree","standard","none","87","74","76"
+"female","group B","bachelor's degree","standard","none","52","65","69"
+"male","group E","some college","standard","none","66","57","52"
+"female","group C","some college","standard","completed","63","78","80"
+"female","group C","associate's degree","standard","none","46","58","57"
+"female","group C","some college","standard","none","59","71","70"
+"female","group B","bachelor's degree","standard","none","61","72","70"
+"male","group A","associate's degree","standard","none","63","61","61"
+"female","group C","some college","free/reduced","completed","42","66","69"
+"male","group D","some college","free/reduced","none","59","62","61"
+"female","group D","some college","standard","none","80","90","89"
+"female","group B","high school","standard","none","58","62","59"
+"male","group B","some high school","standard","completed","85","84","78"
+"female","group C","some college","standard","none","52","58","58"
+"female","group D","some high school","free/reduced","none","27","34","32"
+"male","group C","some college","standard","none","59","60","58"
+"male","group A","bachelor's degree","free/reduced","completed","49","58","60"
+"male","group C","high school","standard","completed","69","58","53"
+"male","group C","bachelor's degree","free/reduced","none","61","66","61"
+"female","group A","some high school","free/reduced","none","44","64","58"
+"female","group D","some high school","standard","none","73","84","85"
+"male","group E","some college","standard","none","84","77","71"
+"female","group C","some college","free/reduced","completed","45","73","70"
+"male","group D","some high school","standard","none","74","74","72"
+"female","group D","some college","standard","completed","82","97","96"
+"female","group D","bachelor's degree","standard","none","59","70","73"
+"male","group E","associate's degree","free/reduced","none","46","43","41"
+"female","group D","some high school","standard","none","80","90","82"
+"female","group D","master's degree","free/reduced","completed","85","95","100"
+"female","group A","some high school","standard","none","71","83","77"
+"male","group A","bachelor's degree","standard","none","66","64","62"
+"female","group B","associate's degree","standard","none","80","86","83"
+"male","group C","associate's degree","standard","completed","87","100","95"
+"male","group C","master's degree","free/reduced","none","79","81","71"
+"female","group E","some high school","free/reduced","none","38","49","45"
+"female","group A","some high school","free/reduced","none","38","43","43"
+"female","group E","some college","standard","none","67","76","75"
+"female","group E","bachelor's degree","standard","none","64","73","70"
+"female","group C","associate's degree","free/reduced","none","57","78","67"
+"female","group D","high school","standard","none","62","64","64"
+"male","group D","master's degree","standard","none","73","70","75"
+"male","group E","some high school","free/reduced","completed","73","67","59"
+"female","group D","some college","standard","none","77","68","77"
+"male","group E","some college","standard","none","76","67","67"
+"male","group C","associate's degree","standard","completed","57","54","56"
+"female","group C","some high school","standard","completed","65","74","77"
+"male","group A","high school","free/reduced","none","48","45","41"
+"female","group B","high school","free/reduced","none","50","67","63"
+"female","group C","associate's degree","standard","none","85","89","95"
+"male","group B","some high school","standard","none","74","63","57"
+"male","group D","some high school","standard","none","60","59","54"
+"female","group C","some high school","standard","completed","59","54","67"
+"male","group A","some college","standard","none","53","43","43"
+"female","group A","some college","free/reduced","none","49","65","55"
+"female","group D","high school","standard","completed","88","99","100"
+"female","group C","high school","standard","none","54","59","62"
+"female","group C","some high school","standard","none","63","73","68"
+"male","group B","associate's degree","standard","completed","65","65","63"
+"female","group B","associate's degree","standard","none","82","80","77"
+"female","group D","high school","free/reduced","completed","52","57","56"
+"male","group D","associate's degree","standard","completed","87","84","85"
+"female","group D","master's degree","standard","completed","70","71","74"
+"male","group E","some college","standard","completed","84","83","78"
+"male","group D","associate's degree","standard","none","71","66","60"
+"male","group B","some high school","standard","completed","63","67","67"
+"female","group C","bachelor's degree","free/reduced","completed","51","72","79"
+"male","group E","high school","standard","none","84","73","69"
+"male","group C","bachelor's degree","standard","completed","71","74","68"
+"male","group C","associate's degree","standard","none","74","73","67"
+"male","group D","some college","standard","none","68","59","62"
+"male","group E","high school","free/reduced","completed","57","56","54"
+"female","group C","associate's degree","free/reduced","completed","82","93","93"
+"female","group D","high school","standard","completed","57","58","64"
+"female","group D","master's degree","free/reduced","completed","47","58","67"
+"female","group A","some high school","standard","completed","59","85","80"
+"male","group B","some college","free/reduced","none","41","39","34"
+"female","group C","some college","free/reduced","none","62","67","62"
+"male","group C","bachelor's degree","standard","none","86","83","86"
+"male","group C","some high school","free/reduced","none","69","71","65"
+"male","group A","some high school","free/reduced","none","65","59","53"
+"male","group C","some high school","free/reduced","none","68","63","54"
+"male","group C","associate's degree","free/reduced","none","64","66","59"
+"female","group C","high school","standard","none","61","72","70"
+"male","group C","high school","standard","none","61","56","55"
+"female","group A","some high school","free/reduced","none","47","59","50"
+"male","group C","some high school","standard","none","73","66","66"
+"male","group C","some college","free/reduced","completed","50","48","53"
+"male","group D","associate's degree","standard","none","75","68","64"
+"male","group D","associate's degree","free/reduced","none","75","66","73"
+"male","group C","high school","standard","none","70","56","51"
+"male","group D","some high school","standard","completed","89","88","82"
+"female","group C","some college","standard","completed","67","81","79"
+"female","group D","high school","standard","none","78","81","80"
+"female","group A","some high school","free/reduced","none","59","73","69"
+"female","group B","associate's degree","standard","none","73","83","76"
+"male","group A","some high school","free/reduced","none","79","82","73"
+"female","group C","some high school","standard","completed","67","74","77"
+"male","group D","some college","free/reduced","none","69","66","60"
+"male","group C","high school","standard","completed","86","81","80"
+"male","group B","high school","standard","none","47","46","42"
+"male","group B","associate's degree","standard","none","81","73","72"
+"female","group C","some college","free/reduced","completed","64","85","85"
+"female","group E","some college","standard","none","100","92","97"
+"female","group C","associate's degree","free/reduced","none","65","77","74"
+"male","group C","some college","free/reduced","none","65","58","49"
+"female","group C","associate's degree","free/reduced","none","53","61","62"
+"male","group C","bachelor's degree","free/reduced","none","37","56","47"
+"female","group D","bachelor's degree","standard","none","79","89","89"
+"male","group D","associate's degree","free/reduced","none","53","54","48"
+"female","group E","bachelor's degree","standard","none","100","100","100"
+"male","group B","high school","standard","completed","72","65","68"
+"male","group C","bachelor's degree","free/reduced","none","53","58","55"
+"male","group B","some college","free/reduced","none","54","54","45"
+"female","group E","some college","standard","none","71","70","76"
+"female","group C","some college","free/reduced","none","77","90","91"
+"male","group A","bachelor's degree","standard","completed","75","58","62"
+"female","group C","some college","standard","none","84","87","91"
+"female","group D","associate's degree","free/reduced","none","26","31","38"
+"male","group A","high school","free/reduced","completed","72","67","65"
+"female","group A","high school","free/reduced","completed","77","88","85"
+"male","group C","some college","standard","none","91","74","76"
+"female","group C","associate's degree","standard","completed","83","85","90"
+"female","group C","high school","standard","none","63","69","74"
+"female","group C","associate's degree","standard","completed","68","86","84"
+"female","group D","some high school","standard","none","59","67","61"
+"female","group B","associate's degree","standard","completed","90","90","91"
+"female","group D","bachelor's degree","standard","completed","71","76","83"
+"male","group E","bachelor's degree","standard","completed","76","62","66"
+"male","group D","associate's degree","standard","none","80","68","72"
+"female","group D","master's degree","standard","none","55","64","70"
+"male","group E","associate's degree","standard","none","76","71","67"
+"male","group B","high school","standard","completed","73","71","68"
+"female","group D","associate's degree","free/reduced","none","52","59","56"
+"male","group C","some college","free/reduced","none","68","68","61"
+"male","group A","high school","standard","none","59","52","46"
+"female","group B","associate's degree","standard","none","49","52","54"
+"male","group C","high school","standard","none","70","74","71"
+"male","group D","some college","free/reduced","none","61","47","56"
+"female","group C","associate's degree","free/reduced","none","60","75","74"
+"male","group B","some high school","standard","completed","64","53","57"
+"male","group A","associate's degree","free/reduced","completed","79","82","82"
+"female","group A","associate's degree","free/reduced","none","65","85","76"
+"female","group C","associate's degree","standard","none","64","64","70"
+"female","group C","some college","standard","none","83","83","90"
+"female","group C","bachelor's degree","standard","none","81","88","90"
+"female","group B","high school","standard","none","54","64","68"
+"male","group D","high school","standard","completed","68","64","66"
+"female","group C","some college","standard","none","54","48","52"
+"female","group D","some college","free/reduced","completed","59","78","76"
+"female","group B","some high school","standard","none","66","69","68"
+"male","group E","some college","standard","none","76","71","72"
+"female","group D","master's degree","standard","none","74","79","82"
+"female","group B","associate's degree","standard","completed","94","87","92"
+"male","group C","some college","free/reduced","none","63","61","54"
+"female","group E","associate's degree","standard","completed","95","89","92"
+"female","group D","master's degree","free/reduced","none","40","59","54"
+"female","group B","some high school","standard","none","82","82","80"
+"male","group A","high school","standard","none","68","70","66"
+"male","group B","bachelor's degree","free/reduced","none","55","59","54"
+"male","group C","master's degree","standard","none","79","78","77"
+"female","group C","bachelor's degree","standard","none","86","92","87"
+"male","group D","some college","standard","none","76","71","73"
+"male","group A","some high school","standard","none","64","50","43"
+"male","group D","some high school","free/reduced","none","62","49","52"
+"female","group B","some high school","standard","completed","54","61","62"
+"female","group B","master's degree","free/reduced","completed","77","97","94"
+"female","group C","some high school","standard","completed","76","87","85"
+"female","group D","some college","standard","none","74","89","84"
+"female","group E","some college","standard","completed","66","74","73"
+"female","group D","some high school","standard","completed","66","78","78"
+"female","group B","high school","free/reduced","completed","67","78","79"
+"male","group D","some college","standard","none","71","49","52"
+"female","group C","associate's degree","standard","none","91","86","84"
+"male","group D","bachelor's degree","standard","none","69","58","57"
+"male","group C","master's degree","free/reduced","none","54","59","50"
+"male","group C","high school","standard","completed","53","52","49"
+"male","group E","some college","standard","none","68","60","59"
+"male","group C","some high school","free/reduced","completed","56","61","60"
+"female","group C","high school","free/reduced","none","36","53","43"
+"female","group D","bachelor's degree","free/reduced","none","29","41","47"
+"female","group C","associate's degree","standard","none","62","74","70"
+"female","group C","associate's degree","standard","completed","68","67","73"
+"female","group C","some high school","standard","none","47","54","53"
+"male","group E","associate's degree","standard","completed","62","61","58"
+"female","group E","associate's degree","standard","completed","79","88","94"
+"male","group B","high school","standard","completed","73","69","68"
+"female","group C","bachelor's degree","free/reduced","completed","66","83","83"
+"male","group C","associate's degree","standard","completed","51","60","58"
+"female","group D","high school","standard","none","51","66","62"
+"male","group E","bachelor's degree","standard","completed","85","66","71"
+"male","group A","associate's degree","standard","completed","97","92","86"
+"male","group C","high school","standard","completed","75","69","68"
+"male","group D","associate's degree","free/reduced","completed","79","82","80"
+"female","group C","associate's degree","standard","none","81","77","79"
+"female","group D","associate's degree","standard","none","82","95","89"
+"female","group D","master's degree","standard","none","64","63","66"
+"male","group E","some high school","free/reduced","completed","78","83","80"
+"female","group A","some high school","standard","completed","92","100","97"
+"male","group C","high school","standard","completed","72","67","64"
+"female","group C","high school","free/reduced","none","62","67","64"
+"male","group C","master's degree","standard","none","79","72","69"
+"male","group C","some high school","free/reduced","none","79","76","65"
+"male","group B","bachelor's degree","free/reduced","completed","87","90","88"
+"female","group B","associate's degree","standard","none","40","48","50"
+"male","group D","some college","free/reduced","none","77","62","64"
+"male","group E","associate's degree","standard","none","53","45","40"
+"female","group C","some college","free/reduced","none","32","39","33"
+"female","group C","associate's degree","standard","completed","55","72","79"
+"male","group C","master's degree","free/reduced","none","61","67","66"
+"female","group B","associate's degree","free/reduced","none","53","70","70"
+"male","group D","some high school","standard","none","73","66","62"
+"female","group D","some college","standard","completed","74","75","79"
+"female","group C","some college","standard","none","63","74","74"
+"male","group C","bachelor's degree","standard","completed","96","90","92"
+"female","group D","some college","free/reduced","completed","63","80","80"
+"male","group B","bachelor's degree","free/reduced","none","48","51","46"
+"male","group B","associate's degree","standard","none","48","43","45"
+"female","group E","bachelor's degree","free/reduced","completed","92","100","100"
+"female","group D","master's degree","free/reduced","completed","61","71","78"
+"male","group B","high school","free/reduced","none","63","48","47"
+"male","group D","bachelor's degree","free/reduced","none","68","68","67"
+"male","group B","some college","standard","completed","71","75","70"
+"male","group A","bachelor's degree","standard","none","91","96","92"
+"female","group C","some college","standard","none","53","62","56"
+"female","group C","high school","free/reduced","completed","50","66","64"
+"female","group E","high school","standard","none","74","81","71"
+"male","group A","associate's degree","free/reduced","completed","40","55","53"
+"male","group A","some college","standard","completed","61","51","52"
+"female","group B","high school","standard","none","81","91","89"
+"female","group B","some college","free/reduced","completed","48","56","58"
+"female","group D","master's degree","standard","none","53","61","68"
+"female","group D","some high school","standard","none","81","97","96"
+"female","group E","some high school","standard","none","77","79","80"
+"female","group D","bachelor's degree","free/reduced","none","63","73","78"
+"female","group D","associate's degree","standard","completed","73","75","80"
+"female","group D","some college","standard","none","69","77","77"
+"female","group C","associate's degree","standard","none","65","76","76"
+"female","group A","high school","standard","none","55","73","73"
+"female","group C","bachelor's degree","free/reduced","none","44","63","62"
+"female","group C","some college","standard","none","54","64","65"
+"female","group A","some high school","standard","none","48","66","65"
+"male","group C","some college","free/reduced","none","58","57","54"
+"male","group A","some high school","standard","none","71","62","50"
+"male","group E","bachelor's degree","standard","none","68","68","64"
+"female","group E","high school","standard","none","74","76","73"
+"female","group C","bachelor's degree","standard","completed","92","100","99"
+"female","group C","bachelor's degree","standard","completed","56","79","72"
+"male","group B","high school","free/reduced","none","30","24","15"
+"male","group A","some high school","standard","none","53","54","48"
+"female","group D","high school","standard","none","69","77","73"
+"female","group D","some high school","standard","none","65","82","81"
+"female","group D","master's degree","standard","none","54","60","63"
+"female","group C","high school","standard","none","29","29","30"
+"female","group E","some college","standard","none","76","78","80"
+"male","group D","high school","free/reduced","none","60","57","51"
+"male","group D","master's degree","free/reduced","completed","84","89","90"
+"male","group C","some high school","standard","none","75","72","62"
+"female","group C","associate's degree","standard","none","85","84","82"
+"female","group C","master's degree","free/reduced","none","40","58","54"
+"female","group E","some college","standard","none","61","64","62"
+"female","group B","associate's degree","standard","none","58","63","65"
+"male","group D","some college","free/reduced","completed","69","60","63"
+"female","group C","some college","standard","none","58","59","66"
+"male","group C","bachelor's degree","standard","completed","94","90","91"
+"female","group C","associate's degree","standard","none","65","77","74"
+"female","group A","associate's degree","standard","none","82","93","93"
+"female","group C","high school","standard","none","60","68","72"
+"female","group E","bachelor's degree","standard","none","37","45","38"
+"male","group D","bachelor's degree","standard","none","88","78","83"
+"male","group D","master's degree","standard","none","95","81","84"
+"male","group C","associate's degree","free/reduced","completed","65","73","68"
+"female","group C","high school","free/reduced","none","35","61","54"
+"male","group B","bachelor's degree","free/reduced","none","62","63","56"
+"male","group C","high school","free/reduced","completed","58","51","52"
+"male","group A","some college","standard","completed","100","96","86"
+"female","group E","bachelor's degree","free/reduced","none","61","58","62"
+"male","group D","some college","standard","completed","100","97","99"
+"male","group B","associate's degree","free/reduced","completed","69","70","63"
+"male","group D","associate's degree","standard","none","61","48","46"
+"male","group D","some college","free/reduced","none","49","57","46"
+"female","group C","some high school","standard","completed","44","51","55"
+"male","group D","some college","standard","none","67","64","70"
+"male","group B","high school","standard","none","79","60","65"
+"female","group B","bachelor's degree","standard","completed","66","74","81"
+"female","group C","high school","standard","none","75","88","85"
+"male","group D","some high school","standard","none","84","84","80"
+"male","group A","high school","standard","none","71","74","64"
+"female","group B","high school","free/reduced","completed","67","80","81"
+"female","group D","some high school","standard","completed","80","92","88"
+"male","group E","some college","standard","none","86","76","74"
+"female","group D","associate's degree","standard","none","76","74","73"
+"male","group D","high school","standard","none","41","52","51"
+"female","group D","associate's degree","free/reduced","completed","74","88","90"
+"female","group B","some high school","free/reduced","none","72","81","79"
+"female","group E","high school","standard","completed","74","79","80"
+"male","group B","high school","standard","none","70","65","60"
+"female","group B","bachelor's degree","standard","completed","65","81","81"
+"female","group D","associate's degree","standard","none","59","70","65"
+"female","group E","high school","free/reduced","none","64","62","68"
+"female","group B","high school","standard","none","50","53","55"
+"female","group D","some college","standard","completed","69","79","81"
+"male","group C","some high school","free/reduced","completed","51","56","53"
+"female","group A","high school","standard","completed","68","80","76"
+"female","group D","some college","standard","completed","85","86","98"
+"female","group A","associate's degree","standard","completed","65","70","74"
+"female","group B","some high school","standard","none","73","79","79"
+"female","group B","some college","standard","none","62","67","67"
+"male","group C","associate's degree","free/reduced","none","77","67","64"
+"male","group D","some high school","standard","none","69","66","61"
+"female","group D","associate's degree","free/reduced","none","43","60","58"
+"male","group D","associate's degree","standard","none","90","87","85"
+"male","group C","some college","free/reduced","none","74","77","73"
+"male","group C","some high school","standard","none","73","66","63"
+"female","group D","some college","free/reduced","none","55","71","69"
+"female","group C","high school","standard","none","65","69","67"
+"male","group D","associate's degree","standard","none","80","63","63"
+"female","group C","some high school","free/reduced","completed","50","60","60"
+"female","group C","some college","free/reduced","completed","63","73","71"
+"female","group B","bachelor's degree","free/reduced","none","77","85","87"
+"male","group C","some college","standard","none","73","74","61"
+"male","group D","associate's degree","standard","completed","81","72","77"
+"female","group C","high school","free/reduced","none","66","76","68"
+"male","group D","associate's degree","free/reduced","none","52","57","50"
+"female","group C","some college","standard","none","69","78","76"
+"female","group C","associate's degree","standard","completed","65","84","84"
+"female","group D","high school","standard","completed","69","77","78"
+"female","group B","some college","standard","completed","50","64","66"
+"female","group E","some college","standard","completed","73","78","76"
+"female","group C","some high school","standard","completed","70","82","76"
+"male","group D","associate's degree","free/reduced","none","81","75","78"
+"male","group D","some college","free/reduced","none","63","61","60"
+"female","group D","high school","standard","none","67","72","74"
+"male","group B","high school","standard","none","60","68","60"
+"male","group B","high school","standard","none","62","55","54"
+"female","group C","some high school","free/reduced","completed","29","40","44"
+"male","group B","some college","standard","completed","62","66","68"
+"female","group E","master's degree","standard","completed","94","99","100"
+"male","group E","some college","standard","completed","85","75","68"
+"male","group D","associate's degree","free/reduced","none","77","78","73"
+"male","group A","high school","free/reduced","none","53","58","44"
+"male","group E","some college","free/reduced","none","93","90","83"
+"female","group C","associate's degree","standard","none","49","53","53"
+"female","group E","associate's degree","free/reduced","none","73","76","78"
+"female","group C","bachelor's degree","free/reduced","completed","66","74","81"
+"female","group D","associate's degree","standard","none","77","77","73"
+"female","group C","some high school","standard","none","49","63","56"
+"female","group D","some college","free/reduced","none","79","89","86"
+"female","group C","associate's degree","standard","completed","75","82","90"
+"female","group A","bachelor's degree","standard","none","59","72","70"
+"female","group D","associate's degree","standard","completed","57","78","79"
+"male","group C","high school","free/reduced","none","66","66","59"
+"female","group E","bachelor's degree","standard","completed","79","81","82"
+"female","group B","some high school","standard","none","57","67","72"
+"male","group A","bachelor's degree","standard","completed","87","84","87"
+"female","group D","some college","standard","none","63","64","67"
+"female","group B","some high school","free/reduced","completed","59","63","64"
+"male","group A","bachelor's degree","free/reduced","none","62","72","65"
+"male","group D","high school","standard","none","46","34","36"
+"male","group C","some college","standard","none","66","59","52"
+"male","group D","high school","standard","none","89","87","79"
+"female","group D","associate's degree","free/reduced","completed","42","61","58"
+"male","group C","some college","standard","completed","93","84","90"
+"female","group E","some high school","standard","completed","80","85","85"
+"female","group D","some college","standard","none","98","100","99"
+"male","group D","master's degree","standard","none","81","81","84"
+"female","group B","some high school","standard","completed","60","70","74"
+"female","group B","associate's degree","free/reduced","completed","76","94","87"
+"male","group C","associate's degree","standard","completed","73","78","72"
+"female","group C","associate's degree","standard","completed","96","96","99"
+"female","group C","high school","standard","none","76","76","74"
+"male","group E","associate's degree","free/reduced","completed","91","73","80"
+"female","group C","some college","free/reduced","none","62","72","70"
+"male","group D","some high school","free/reduced","completed","55","59","59"
+"female","group B","some high school","free/reduced","completed","74","90","88"
+"male","group C","high school","standard","none","50","48","42"
+"male","group B","some college","standard","none","47","43","41"
+"male","group E","some college","standard","completed","81","74","71"
+"female","group E","associate's degree","standard","completed","65","75","77"
+"male","group E","some high school","standard","completed","68","51","57"
+"female","group D","high school","free/reduced","none","73","92","84"
+"male","group C","some college","standard","none","53","39","37"
+"female","group B","associate's degree","free/reduced","completed","68","77","80"
+"male","group A","some high school","free/reduced","none","55","46","43"
+"female","group C","some college","standard","completed","87","89","94"
+"male","group D","some high school","standard","none","55","47","44"
+"female","group E","some college","free/reduced","none","53","58","57"
+"male","group C","master's degree","standard","none","67","57","59"
+"male","group C","associate's degree","standard","none","92","79","84"
+"female","group B","some college","free/reduced","completed","53","66","73"
+"male","group D","associate's degree","standard","none","81","71","73"
+"male","group C","high school","free/reduced","none","61","60","55"
+"male","group D","bachelor's degree","standard","none","80","73","72"
+"female","group A","associate's degree","free/reduced","none","37","57","56"
+"female","group C","high school","standard","none","81","84","82"
+"female","group C","associate's degree","standard","completed","59","73","72"
+"male","group B","some college","free/reduced","none","55","55","47"
+"male","group D","associate's degree","standard","none","72","79","74"
+"male","group D","high school","standard","none","69","75","71"
+"male","group C","some college","standard","none","69","64","68"
+"female","group C","bachelor's degree","free/reduced","none","50","60","59"
+"male","group B","some college","standard","completed","87","84","86"
+"male","group D","some high school","standard","completed","71","69","68"
+"male","group E","some college","standard","none","68","72","65"
+"male","group C","master's degree","free/reduced","completed","79","77","75"
+"female","group C","some high school","standard","completed","77","90","85"
+"male","group C","associate's degree","free/reduced","none","58","55","53"
+"female","group E","associate's degree","standard","none","84","95","92"
+"male","group D","some college","standard","none","55","58","52"
+"male","group E","bachelor's degree","free/reduced","completed","70","68","72"
+"female","group D","some college","free/reduced","completed","52","59","65"
+"male","group B","some college","standard","completed","69","77","77"
+"female","group C","high school","free/reduced","none","53","72","64"
+"female","group D","some high school","standard","none","48","58","54"
+"male","group D","some high school","standard","completed","78","81","86"
+"female","group B","high school","standard","none","62","62","63"
+"male","group D","some college","standard","none","60","63","59"
+"female","group B","high school","standard","none","74","72","72"
+"female","group C","high school","standard","completed","58","75","77"
+"male","group B","high school","standard","completed","76","62","60"
+"female","group D","some high school","standard","none","68","71","75"
+"male","group A","some college","free/reduced","none","58","60","57"
+"male","group B","high school","standard","none","52","48","49"
+"male","group D","bachelor's degree","standard","none","75","73","74"
+"female","group B","some high school","free/reduced","completed","52","67","72"
+"female","group C","bachelor's degree","free/reduced","none","62","78","79"
+"male","group B","some college","standard","none","66","65","60"
+"female","group B","some high school","free/reduced","none","49","58","55"
+"female","group B","high school","standard","none","66","72","70"
+"female","group C","some college","free/reduced","none","35","44","43"
+"female","group A","some college","standard","completed","72","79","82"
+"male","group E","associate's degree","standard","completed","94","85","82"
+"female","group D","associate's degree","free/reduced","none","46","56","57"
+"female","group B","master's degree","standard","none","77","90","84"
+"female","group B","high school","free/reduced","completed","76","85","82"
+"female","group C","associate's degree","standard","completed","52","59","62"
+"male","group C","bachelor's degree","standard","completed","91","81","79"
+"female","group B","some high school","standard","completed","32","51","44"
+"female","group E","some high school","free/reduced","none","72","79","77"
+"female","group B","some college","standard","none","19","38","32"
+"male","group C","associate's degree","free/reduced","none","68","65","61"
+"female","group C","master's degree","free/reduced","none","52","65","61"
+"female","group B","high school","standard","none","48","62","60"
+"female","group D","some college","free/reduced","none","60","66","70"
+"male","group D","high school","free/reduced","none","66","74","69"
+"male","group E","some high school","standard","completed","89","84","77"
+"female","group B","high school","standard","none","42","52","51"
+"female","group E","associate's degree","free/reduced","completed","57","68","73"
+"male","group D","high school","standard","none","70","70","70"
+"female","group E","associate's degree","free/reduced","none","70","84","81"
+"male","group E","some college","standard","none","69","60","54"
+"female","group C","associate's degree","standard","none","52","55","57"
+"male","group C","some high school","standard","completed","67","73","68"
+"male","group C","some high school","standard","completed","76","80","73"
+"female","group E","associate's degree","standard","none","87","94","95"
+"female","group B","some college","standard","none","82","85","87"
+"female","group C","some college","standard","none","73","76","78"
+"male","group A","some college","free/reduced","none","75","81","74"
+"female","group D","some college","free/reduced","none","64","74","75"
+"female","group E","high school","free/reduced","none","41","45","40"
+"male","group C","high school","standard","none","90","75","69"
+"male","group B","bachelor's degree","standard","none","59","54","51"
+"male","group A","some high school","standard","none","51","31","36"
+"male","group A","high school","free/reduced","none","45","47","49"
+"female","group C","master's degree","standard","completed","54","64","67"
+"male","group E","some high school","standard","completed","87","84","76"
+"female","group C","high school","standard","none","72","80","83"
+"male","group B","some high school","standard","completed","94","86","87"
+"female","group A","bachelor's degree","standard","none","45","59","64"
+"male","group D","bachelor's degree","free/reduced","completed","61","70","76"
+"female","group B","high school","free/reduced","none","60","72","68"
+"female","group C","some high school","standard","none","77","91","88"
+"female","group A","some high school","standard","completed","85","90","92"
+"female","group D","bachelor's degree","free/reduced","none","78","90","93"
+"male","group E","some college","free/reduced","completed","49","52","51"
+"female","group B","high school","free/reduced","none","71","87","82"
+"female","group C","some high school","free/reduced","none","48","58","52"
+"male","group C","high school","standard","none","62","67","58"
+"female","group C","associate's degree","free/reduced","completed","56","68","70"
+"female","group C","some high school","standard","none","65","69","76"
+"female","group D","some high school","free/reduced","completed","69","86","81"
+"male","group B","some high school","standard","none","68","54","53"
+"female","group A","some college","free/reduced","none","61","60","57"
+"female","group C","bachelor's degree","free/reduced","completed","74","86","89"
+"male","group A","bachelor's degree","standard","none","64","60","58"
+"female","group B","high school","standard","completed","77","82","89"
+"male","group B","some college","standard","none","58","50","45"
+"female","group C","high school","standard","completed","60","64","74"
+"male","group E","high school","standard","none","73","64","57"
+"female","group A","high school","standard","completed","75","82","79"
+"male","group B","associate's degree","free/reduced","completed","58","57","53"
+"female","group C","associate's degree","standard","none","66","77","73"
+"female","group D","high school","free/reduced","none","39","52","46"
+"male","group C","some high school","standard","none","64","58","51"
+"female","group B","high school","free/reduced","completed","23","44","36"
+"male","group B","some college","free/reduced","completed","74","77","76"
+"female","group D","some high school","free/reduced","completed","40","65","64"
+"male","group E","master's degree","standard","none","90","85","84"
+"male","group C","master's degree","standard","completed","91","85","85"
+"male","group D","high school","standard","none","64","54","50"
+"female","group C","high school","standard","none","59","72","68"
+"male","group D","associate's degree","standard","none","80","75","69"
+"male","group C","master's degree","standard","none","71","67","67"
+"female","group A","high school","standard","none","61","68","63"
+"female","group E","some college","standard","none","87","85","93"
+"male","group E","some high school","standard","none","82","67","61"
+"male","group C","some high school","standard","none","62","64","55"
+"female","group B","bachelor's degree","standard","none","97","97","96"
+"male","group B","some college","free/reduced","none","75","68","65"
+"female","group C","bachelor's degree","standard","none","65","79","81"
+"male","group B","high school","standard","completed","52","49","46"
+"male","group C","associate's degree","free/reduced","none","87","73","72"
+"female","group C","associate's degree","standard","none","53","62","53"
+"female","group E","master's degree","free/reduced","none","81","86","87"
+"male","group D","bachelor's degree","free/reduced","completed","39","42","38"
+"female","group C","some college","standard","completed","71","71","80"
+"male","group C","associate's degree","standard","none","97","93","91"
+"male","group D","some college","standard","completed","82","82","88"
+"male","group C","high school","free/reduced","none","59","53","52"
+"male","group B","associate's degree","standard","none","61","42","41"
+"male","group E","associate's degree","free/reduced","completed","78","74","72"
+"male","group C","associate's degree","free/reduced","none","49","51","51"
+"male","group B","high school","standard","none","59","58","47"
+"female","group C","some college","standard","completed","70","72","76"
+"male","group B","associate's degree","standard","completed","82","84","78"
+"male","group E","associate's degree","free/reduced","none","90","90","82"
+"female","group C","bachelor's degree","free/reduced","none","43","62","61"
+"male","group C","some college","free/reduced","none","80","64","66"
+"male","group D","some college","standard","none","81","82","84"
+"male","group C","some high school","standard","none","57","61","54"
+"female","group D","some high school","standard","none","59","72","80"
+"female","group D","associate's degree","standard","none","64","76","74"
+"male","group C","bachelor's degree","standard","completed","63","64","66"
+"female","group E","bachelor's degree","standard","completed","71","70","70"
+"female","group B","high school","free/reduced","none","64","73","71"
+"male","group D","bachelor's degree","free/reduced","none","55","46","44"
+"female","group E","associate's degree","standard","none","51","51","54"
+"female","group C","associate's degree","standard","completed","62","76","80"
+"female","group E","associate's degree","standard","completed","93","100","95"
+"male","group C","high school","free/reduced","none","54","72","59"
+"female","group D","some college","free/reduced","none","69","65","74"
+"male","group D","high school","free/reduced","none","44","51","48"
+"female","group E","some college","standard","completed","86","85","91"
+"female","group E","associate's degree","standard","none","85","92","85"
+"female","group A","master's degree","free/reduced","none","50","67","73"
+"male","group D","some high school","standard","completed","88","74","75"
+"female","group E","associate's degree","standard","none","59","62","69"
+"female","group E","some high school","free/reduced","none","32","34","38"
+"male","group B","high school","free/reduced","none","36","29","27"
+"female","group B","some high school","free/reduced","completed","63","78","79"
+"male","group D","associate's degree","standard","completed","67","54","63"
+"female","group D","some high school","standard","completed","65","78","82"
+"male","group D","master's degree","standard","none","85","84","89"
+"female","group C","master's degree","standard","none","73","78","74"
+"female","group A","high school","free/reduced","completed","34","48","41"
+"female","group D","bachelor's degree","free/reduced","completed","93","100","100"
+"female","group D","some high school","free/reduced","none","67","84","84"
+"male","group D","some college","standard","none","88","77","77"
+"male","group B","high school","standard","none","57","48","51"
+"female","group D","some college","standard","completed","79","84","91"
+"female","group C","bachelor's degree","free/reduced","none","67","75","72"
+"male","group E","bachelor's degree","standard","completed","70","64","70"
+"male","group D","bachelor's degree","free/reduced","none","50","42","48"
+"female","group A","some college","standard","none","69","84","82"
+"female","group C","bachelor's degree","standard","completed","52","61","66"
+"female","group C","bachelor's degree","free/reduced","completed","47","62","66"
+"female","group B","associate's degree","free/reduced","none","46","61","55"
+"female","group E","some college","standard","none","68","70","66"
+"male","group E","bachelor's degree","standard","completed","100","100","100"
+"female","group C","high school","standard","none","44","61","52"
+"female","group C","associate's degree","standard","completed","57","77","80"
+"male","group B","some college","standard","completed","91","96","91"
+"male","group D","high school","free/reduced","none","69","70","67"
+"female","group C","high school","free/reduced","none","35","53","46"
+"male","group D","high school","standard","none","72","66","66"
+"female","group B","associate's degree","free/reduced","none","54","65","65"
+"male","group D","high school","free/reduced","none","74","70","69"
+"male","group E","some high school","standard","completed","74","64","60"
+"male","group E","associate's degree","free/reduced","none","64","56","52"
+"female","group D","high school","free/reduced","completed","65","61","71"
+"male","group E","associate's degree","free/reduced","completed","46","43","44"
+"female","group C","some high school","free/reduced","none","48","56","51"
+"male","group C","some college","free/reduced","completed","67","74","70"
+"male","group D","some college","free/reduced","none","62","57","62"
+"male","group D","associate's degree","free/reduced","completed","61","71","73"
+"male","group C","bachelor's degree","free/reduced","completed","70","75","74"
+"male","group C","associate's degree","standard","completed","98","87","90"
+"male","group D","some college","free/reduced","none","70","63","58"
+"male","group A","associate's degree","standard","none","67","57","53"
+"female","group E","high school","free/reduced","none","57","58","57"
+"male","group D","some college","standard","completed","85","81","85"
+"male","group D","some high school","standard","completed","77","68","69"
+"male","group C","master's degree","free/reduced","completed","72","66","72"
+"female","group D","master's degree","standard","none","78","91","96"
+"male","group C","high school","standard","none","81","66","64"
+"male","group A","some high school","free/reduced","completed","61","62","61"
+"female","group B","high school","standard","none","58","68","61"
+"female","group C","associate's degree","standard","none","54","61","58"
+"male","group B","high school","standard","none","82","82","80"
+"female","group D","some college","free/reduced","none","49","58","60"
+"male","group B","some high school","free/reduced","completed","49","50","52"
+"female","group E","high school","free/reduced","completed","57","75","73"
+"male","group E","high school","standard","none","94","73","71"
+"female","group D","some college","standard","completed","75","77","83"
+"female","group E","some high school","free/reduced","none","74","74","72"
+"male","group C","high school","standard","completed","58","52","54"
+"female","group C","some college","standard","none","62","69","69"
+"male","group E","associate's degree","standard","none","72","57","62"
+"male","group C","some college","standard","none","84","87","81"
+"female","group D","master's degree","standard","none","92","100","100"
+"female","group D","high school","standard","none","45","63","59"
+"male","group C","high school","standard","none","75","81","71"
+"female","group A","some college","standard","none","56","58","64"
+"female","group D","some high school","free/reduced","none","48","54","53"
+"female","group E","associate's degree","standard","none","100","100","100"
+"female","group C","some high school","free/reduced","completed","65","76","75"
+"male","group D","some college","standard","none","72","57","58"
+"female","group D","some college","standard","none","62","70","72"
+"male","group A","some high school","standard","completed","66","68","64"
+"male","group C","some college","standard","none","63","63","60"
+"female","group E","associate's degree","standard","none","68","76","67"
+"female","group B","bachelor's degree","standard","none","75","84","80"
+"female","group D","bachelor's degree","standard","none","89","100","100"
+"male","group C","some high school","standard","completed","78","72","69"
+"female","group A","high school","free/reduced","completed","53","50","60"
+"female","group D","some college","free/reduced","none","49","65","61"
+"female","group A","some college","standard","none","54","63","67"
+"female","group C","some college","standard","completed","64","82","77"
+"male","group B","some college","free/reduced","completed","60","62","60"
+"male","group C","associate's degree","standard","none","62","65","58"
+"male","group D","high school","standard","completed","55","41","48"
+"female","group C","associate's degree","standard","none","91","95","94"
+"female","group B","high school","free/reduced","none","8","24","23"
+"male","group D","some high school","standard","none","81","78","78"
+"male","group B","some high school","standard","completed","79","85","86"
+"female","group A","some college","standard","completed","78","87","91"
+"female","group C","some high school","standard","none","74","75","82"
+"male","group A","high school","standard","none","57","51","54"
+"female","group C","associate's degree","standard","none","40","59","51"
+"male","group E","some high school","standard","completed","81","75","76"
+"female","group A","some high school","free/reduced","none","44","45","45"
+"female","group D","some college","free/reduced","completed","67","86","83"
+"male","group E","high school","free/reduced","completed","86","81","75"
+"female","group B","some high school","standard","completed","65","82","78"
+"female","group D","associate's degree","free/reduced","none","55","76","76"
+"female","group D","bachelor's degree","free/reduced","none","62","72","74"
+"male","group A","high school","standard","none","63","63","62"
+"female","group E","master's degree","standard","completed","88","99","95"
+"male","group C","high school","free/reduced","none","62","55","55"
+"female","group C","high school","free/reduced","completed","59","71","65"
+"female","group D","some college","standard","completed","68","78","77"
+"female","group D","some college","free/reduced","none","77","86","86"
diff --git a/Programm/src/StudentsPerformanceInExams.elm b/Programm/src/StudentsPerformanceInExams.elm
new file mode 100644
index 0000000000000000000000000000000000000000..1157ba3afb2300f779f8b9e2eb01511ba23873e6
--- /dev/null
+++ b/Programm/src/StudentsPerformanceInExams.elm
@@ -0,0 +1,460 @@
+module StudentsPerformanceInExams exposing (main)
+
+-- elm stuff
+import Browser
+import Html exposing (Html, text, pre, div)
+import Http
+import Dict
+import Maybe.Extra
+-- Decode and Date, Time stuff
+import Html.Parser
+import Parser
+import Csv
+import Csv.Decode
+import Date
+import Time exposing (Month(..))
+-- Svg stuff
+import TypedSvg exposing (circle, g, rect, style, svg, text_)
+import TypedSvg.Attributes exposing (class, fontFamily, fontSize, textAnchor, transform, viewBox)
+import TypedSvg.Attributes.InPx exposing (cx, cy, height, r, width, x, y)
+import TypedSvg.Core exposing (Svg)
+import TypedSvg.Types exposing (AnchorAlignment(..), Length(..), Transform(..))
+-- visualisation
+import Scale exposing (ContinuousScale)
+import Scale.Color
+import Statistics
+-- other
+import Color
+
+-- MAIN
+main =
+  Browser.element
+    { init = init
+    , update = update
+    , subscriptions = subscriptions
+    , view = view
+    }
+
+-- MODEL
+type alias Model = { httpState : HttpState
+                   , fullTexts : List {description: String, data: String}
+                   , data : List Data
+                   , error : String
+                   }
+
+type HttpState
+  = Failure
+  | Loading Int
+  | Success
+
+type Arrangement
+  = Line_By_Line
+  | Forth_Loop
+
+type alias Data = {description: String, data: List ( String, Maybe Float )}
+
+filesToLoad =
+  [ --"http://roycekimmons.com/system/generate_data.php?dataset=exams&n=1000"
+    --"https://www.kaggle.com/spscientist/students-performance-in-exams/download"
+    "http://localhost:8000/src/StudentsPerformance.csv"
+  ]
+
+init : () -> (Model, Cmd Msg)
+init _ =
+  ( Model (Loading <| List.length filesToLoad) [] [] ""
+  , Cmd.batch <|
+      List.map (\file ->
+                  Http.get
+                    { url = file
+                    , expect = Http.expectString <| GotText file
+                    }
+               ) filesToLoad
+  )
+
+-- UPDATE
+type Msg
+  = GotText String (Result Http.Error String)
+
+update : Msg -> Model -> ( Model, Cmd Msg)
+update msg model = (updateModel msg model, Cmd.none)
+
+updateModel : Msg -> Model -> Model
+updateModel msg model =
+  case msg of
+    GotText file result ->
+      case result of
+        Ok fullText ->
+          case model.httpState of
+            Failure           -> {model | httpState = Failure}
+            Loading filesLeft ->
+                if filesLeft-1 == 0 then
+                    let newFullTexts = {description = file, data = fullText}::model.fullTexts
+                        checkedFullTexts = List.map checkInputFormat newFullTexts
+                    in
+                    { model | httpState = Success
+                            , fullTexts = checkedFullTexts
+                            , data      = prepareData <|
+                                            List.map
+                                              (\data -> Data data.description <| csvString_to_data data.data)
+                                              checkedFullTexts
+                    }
+                else{ model | httpState = Loading (filesLeft-1)
+                            , fullTexts = {description = file, data = fullText}::model.fullTexts
+                    }
+            Success           -> {model | httpState = Failure}
+        Err e -> { model | httpState = Failure
+                         , error = httpErrorToString e
+                 }
+
+-- SUBSCRIPTIONS
+subscriptions : Model -> Sub Msg
+subscriptions model = Sub.none
+
+-- VIEW
+view : Model -> Html Msg
+view model =
+  case model.httpState of
+    Failure ->
+      text model.error
+
+    Loading index->
+      text ("Loading... "++(String.fromInt index)++" left")
+
+    Success ->
+      text <| Maybe.withDefault "Nothing here" <| List.head <| List.map .data model.fullTexts
+
+    {-
+      let rawlevel : Int -> List (Int,Int)
+          rawlevel years = [(years,1),(1,12),(4,1),(1,5),(1,1)]
+
+          fstData     = (list_get model.data 0).data
+          numberDays  = List.length fstData
+          numberYears = let years = List.map (\date -> case date of
+                                                         Ok aDate -> Date.weekYear aDate
+                                                         Err _    -> 2000
+                                    ) <| List.map Date.fromIsoString <| List.map Tuple.first fstData
+                        in (Maybe.withDefault 0 <| List.maximum years) - (Maybe.withDefault 0 <| List.minimum years)
+          rawlevel_uncorrected = rawlevel numberYears
+          numberSlots_uncorrected = List.foldl (*) 1 <| List.map (\(x,y)-> x*y) <| rawlevel_uncorrected
+          diffDays = toFloat <| numberDays-numberSlots_uncorrected
+          daysPerYear = toFloat <| List.foldl (*) 1 <| List.map (\(x,y)-> x*y) <| List.drop 1 <| rawlevel numberYears
+          correctedYears = if numberSlots_uncorrected > numberDays then numberYears
+                           else numberYears + (ceiling <| diffDays / daysPerYear)
+
+          rawlevel_corrected = rawlevel correctedYears
+
+          numberSlots = List.foldl (*) 1 <| List.map (\(x,y)-> x*y) rawlevel_corrected
+
+          level = augmentLevel rawlevel_corrected
+          drawList_Line_by_Line = drawArrangement Line_By_Line level
+          drawList_Forth_Loop   = drawArrangement Forth_Loop   level
+          w = 50
+          h = 20
+      in
+      div []
+        [ Html.div [] [Html.text <| "Anzahl Tage pro Zeitreihe:"++(String.fromInt numberDays)]
+        , Html.div [] [Html.text <| "Anzahl Slots pro Zeitreihe: "++(String.fromInt numberSlots)]
+        , Html.table []
+            <| List.append
+            [ Html.tr []
+                [ Html.td [] []
+                , Html.td [] [Html.text "Line by Line Arrangement"]
+                , Html.td [] [Html.text "Forth-Loop Arrangement"]
+                ]
+            ]
+            <| List.map (\zeitreihe ->
+                 Html.tr []
+                   [ Html.td [] [Html.text zeitreihe.description]
+                   , Html.td [] [viewData (w,h) drawList_Line_by_Line zeitreihe]
+                   , Html.td [] [viewData (w,h) drawList_Forth_Loop   zeitreihe]
+                   ]
+               ) model.data
+        ]-}
+
+-- viewHelper
+viewArrangement : Arrangement -> List ( Int, Int ) -> Html Msg
+viewArrangement arrangement drawList =
+    Html.div []
+        [ Html.text <| " Arrangement:"
+        , Html.table []
+            <| List.map (\line ->
+                            Html.tr [] <| List.map (\n -> Html.td [] [Html.text <| String.fromInt n]) line
+                        ) (coordsListToListOfLines drawList)
+        ]
+
+viewDataWithDescription : (Int,Int) -> List ( Int, Int ) -> Data -> Html Msg
+viewDataWithDescription (w,h) drawList zeitreihe =
+    Html.div []
+     [ Html.h4 [] [Html.text zeitreihe.description]
+     , viewData (w,h) drawList zeitreihe
+     ]
+
+viewData : (Int,Int) -> List ( Int, Int ) -> Data -> Html Msg
+viewData (w,h) drawList zeitreihe =
+    Html.div [] [svg [ viewBox 0 0 (toFloat w) (toFloat h)
+        , TypedSvg.Attributes.width <| TypedSvg.Types.Percent 100
+        , TypedSvg.Attributes.height <| TypedSvg.Types.Percent 100
+        ][ drawDimension (w,h) drawList zeitreihe.data ]]
+
+-- Decode csv-String
+checkInputFormat : {description: String, data: String} -> {description: String, data: String}
+checkInputFormat input =
+  if String.left 15 input.data == "<!DOCTYPE HTML>" then
+    let -- Error handling for parsing
+        deadEndsToString : List Parser.DeadEnd -> String -- sadly Parser.deadEndsToString always just prints "TODO: deadEndsToString"
+        deadEndsToString deadEnds = "[ "++(List.foldl (++) " ]" <| List.map deadEndToString deadEnds)
+
+        deadEndToString : Parser.DeadEnd -> String
+        deadEndToString {row,col,problem} = "row = "++(String.fromInt row)++", col = "++(String.fromInt col)++", problem = "++(problemToString problem)
+
+        problemToString : Parser.Problem -> String
+        problemToString problem =
+          case problem of
+            Parser.Expecting string        -> "Expecting \""++string++"\""
+            Parser.ExpectingInt            -> "ExpectingInt"
+            Parser.ExpectingHex            -> "ExpectingHex"
+            Parser.ExpectingOctal          -> "ExpectingOctal"
+            Parser.ExpectingBinary         -> "ExpectingBinary"
+            Parser.ExpectingFloat          -> "ExpectingFloat"
+            Parser.ExpectingNumber         -> "ExpectingNumber"
+            Parser.ExpectingVariable       -> "ExpectingVariable"
+            Parser.ExpectingSymbol string  -> "ExpectingSymbol \""++string++"\""
+            Parser.ExpectingKeyword string -> "ExpectingKeyword \""++string++"\""
+            Parser.ExpectingEnd            -> "ExpectingEnd"
+            Parser.UnexpectedChar          -> "UnexpectedChar"
+            Parser.Problem string          -> "Problem \""++string++"\""
+            Parser.BadRepeat               -> "BadRepeat"
+        -- get the csv string from html document
+        data = String.dropLeft 15 input.data -- the parser can't parse the <!DOCTYPE HTML>-part of Html
+        htmlDataResult = Html.Parser.run data
+        dataInCorrectFormat =
+          case htmlDataResult of
+            Ok htmlData ->
+              let allTexts = findallTexts htmlData
+
+                  findallTexts : List Html.Parser.Node -> List String
+                  findallTexts nodes = List.concat <| List.map2 findallTextsHelper nodes <| List.repeat (List.length nodes) []
+                  findallTextsHelper : Html.Parser.Node -> List String -> List String
+                  findallTextsHelper outerNode texts =
+                    case outerNode of
+                      Html.Parser.Text string                     -> string::texts
+                      Html.Parser.Element string attrs childNodes ->
+                        List.concat
+                          [ List.concat <| List.map2 findallTextsHelper childNodes <| List.repeat (List.length childNodes) []
+                          , texts
+                          ]
+                      Html.Parser.Comment string                  -> []
+              in -- The longest String should be the csv one
+                 Maybe.withDefault "There is no text in this html-file." <| list_Last <| List.sortBy String.length allTexts
+            Err errorList -> "Input was Html-file, but Error while Parsing it: "++(deadEndsToString errorList)++"\t\r\n"
+                             ++"Html-file:\t\r\n"++data
+
+    in {input | data = dataInCorrectFormat }
+  else input
+
+csvString_to_data : String -> List ( String, Maybe Float )
+csvString_to_data csvRaw =
+    Csv.parse csvRaw
+        |> Csv.Decode.decodeCsv decodeStockDay
+        |> Result.toMaybe
+        |> Maybe.withDefault []
+
+decodeStockDay : Csv.Decode.Decoder (( String, Maybe Float ) -> a) a
+decodeStockDay =
+    Csv.Decode.map (\a b -> ( a, Just b ))
+        (Csv.Decode.field "Date" Ok
+            |> Csv.Decode.andMap
+                (Csv.Decode.field "Open"
+                    (String.toFloat >> Result.fromMaybe "error parsing string")
+                )
+        )
+
+prepareData : List Data -> List Data
+prepareData rawData =
+  let startDate = Date.fromCalendarDate 1980 Dec 23
+      untilDate = Date.fromCalendarDate 2011 Jun 9
+      allDates  = Dict.fromList <|
+                    List.map
+                      (\date -> (Date.toIsoString date, Nothing))
+                      <| Date.range Date.Day 1 startDate untilDate
+
+      rawDictData : List ( Dict.Dict String (Maybe Float) )
+      rawDictData = List.map Dict.fromList <| List.map .data rawData
+
+      resultDictData : List ( Dict.Dict String (Maybe Float) )
+      resultDictData = List.map (\rawDict -> Dict.union rawDict allDates) rawDictData
+
+      resultDataList = List.map Dict.toList resultDictData
+
+      resultWithoutWeekends = List.map (\data -> List.filter (\(dateString,mayFloat) ->
+                                  case Date.fromIsoString dateString of
+                                   Ok date ->  if List.member (Date.weekdayNumber date) [6,7]
+                                               then False else True
+                                   Err _   -> True
+                              ) data) resultDataList
+
+  in List.map2 (\raw result -> {raw | data = result}) rawData resultWithoutWeekends
+
+dataToString : List ( String, Maybe Float ) -> String
+dataToString dataList =
+  List.foldr (++) ""
+  <| List.map
+        (\elem -> (Tuple.first elem)++" "++
+          (let rightString = String.fromFloat <| Maybe.withDefault -1234879231 <| Tuple.second elem
+           in if rightString == "-1234879231" then "No Data" else rightString
+          )++"\n"
+        )
+        dataList
+
+-- Für Zeichnen
+
+augmentLevel : List ( Int, Int ) -> List ( ( Int, Int ), ( Int, Int ) )
+augmentLevel level =
+    let next : List ( Int, Int )
+        next = List.foldr
+                (\( w, h ) nl ->
+                    let ( nlx, nly ) =
+                            case nl of
+                                []            -> ( 1, 1 )
+                                ( x, y ) :: _ -> ( x, y )
+                    in ( w * nlx, h * nly ) :: nl
+                )
+                []
+                level
+    in List.map2 Tuple.pair level (List.append (List.drop 1 next) [ ( 0, 0 ) ])
+
+coordsListToListOfLines : List (Int, Int) -> List (List Int)
+coordsListToListOfLines coords = -- requires the coords to fill the whole place minX - maxX, minY - maxY otherwise there will be -1 elements
+    let minX = Maybe.withDefault                    0 <| List.minimum <| List.map Tuple.first  coords
+        maxX = Maybe.withDefault (List.length coords) <| List.maximum <| List.map Tuple.first  coords
+        minY = Maybe.withDefault                    0 <| List.minimum <| List.map Tuple.second coords
+        maxY = Maybe.withDefault (List.length coords) <| List.maximum <| List.map Tuple.second coords
+        initialLines = List.repeat (maxY-minY+1) (List.repeat (maxX-minX+1) -1)
+        coordsListToListOfLinesHelper : List (Int,(Int, Int)) -> List (List Int) -> List (List Int)
+        coordsListToListOfLinesHelper indexedCoords lines =
+          case indexedCoords of
+            []            -> lines
+            (i,(x,y))::cs -> coordsListToListOfLinesHelper cs <| list_set lines (y-minY) (list_set (list_get lines (y-minY)) (x-minX) i)
+    in coordsListToListOfLinesHelper (List.indexedMap Tuple.pair coords) initialLines
+
+type alias LoopRec =
+    { xOuterLoop : Int, yLoop : Int, outerResult : List ( Int, Int ) }
+
+drawArrangement : Arrangement -> List ( ( Int, Int ), ( Int, Int ) ) -> List ( Int, Int )
+drawArrangement arrangement  lvl =
+    let drawLineByLine : Int -> Int -> List ( ( Int, Int ), ( Int, Int ) ) -> List ( Int, Int )
+        drawLineByLine x y level =
+          case level of
+            [] -> [ ( x, y ) ]
+            ( ( width, height ), ( next_x, next_y ) ) :: reducedLevel ->
+              let temp = List.foldl
+                           (\_ { xOuterLoop, yLoop, outerResult } ->
+                             let innerResult = List.foldl
+                                                 (\_ ( xLoop, result ) ->
+                                                   ( xLoop + next_x
+                                                   , List.append
+                                                       result
+                                                       (drawLineByLine xLoop yLoop reducedLevel)
+                                                   )
+                                                 )( xOuterLoop, [] ) <| List.range 1 width
+                             in LoopRec xOuterLoop
+                                        (yLoop + next_y)
+                                        (List.append outerResult (Tuple.second innerResult))
+                           )(LoopRec x y []) <| List.range 1 height
+              in temp.outerResult
+        drawForthLoop : Int -> Int -> List ( ( Int, Int ), ( Int, Int ) ) -> List ( Int, Int )
+        drawForthLoop x y level =
+          case level of
+            [] -> [ ( x, y ) ]
+            ( ( width, height ), ( next_x, next_y ) ) :: reducedLevel ->
+              let temp = List.foldl
+                           (\h { xOuterLoop, yLoop, outerResult } ->
+                             let isOdd = modBy 2 h == 0
+                                 xOperation     = if isOdd then (-) else (+)
+                                 xLoopOperation = if isOdd then (+) ((width-1)*next_x) else (+) 0
+                                 innerResult = List.foldl
+                                                 (\_ ( xLoop, result ) ->
+                                                   ( xOperation xLoop next_x
+                                                   , List.append
+                                                       result
+                                                       (drawForthLoop (xLoopOperation xLoop) yLoop reducedLevel)
+                                                   )
+                                                 )( xOuterLoop, [] ) <| List.range 1 width
+                             in LoopRec xOuterLoop
+                                        (yLoop + next_y)
+                                        (List.append outerResult (Tuple.second innerResult))
+                           )(LoopRec x y []) <| List.range 1 height
+              in temp.outerResult
+    in case arrangement of
+         Line_By_Line -> drawLineByLine 0 0 lvl
+         Forth_Loop   -> drawForthLoop  0 0 lvl
+
+drawDimension : ( Int, Int ) -> List ( Int, Int ) -> List ( String, Maybe Float ) -> Svg Msg
+drawDimension (w,h) pixelMapping data =
+    let scaleTo01 = data
+                      |> List.map Tuple.second
+                      |> Maybe.Extra.values
+                      |> Statistics.extent
+                      |> Maybe.withDefault ( 0, 1 )
+                      |> Scale.linear ( 0, 1 )
+        -- without this multiplier the last col and last row don't fits in viewbox w h
+        (minX,maxX) = Maybe.withDefault (0,0) <| Statistics.extent <| List.map toFloat <| List.map Tuple.first  pixelMapping
+        (minY,maxY) = Maybe.withDefault (0,0) <| Statistics.extent <| List.map toFloat <| List.map Tuple.second pixelMapping
+        w_multiplier = (maxX-minX-1)/(maxX-minX)
+        h_multiplier = (maxY-minY-1)/(maxY-minY)
+
+        ( scaleW, scaleH ) =
+            pixelMapping
+                |> List.map (Tuple.mapBoth toFloat toFloat)
+                |> (\l -> ( List.map Tuple.first l, List.map Tuple.second l ))
+                |> Tuple.mapBoth
+                    (Statistics.extent >> Maybe.withDefault ( 0.0, 100.0 ) >> Scale.linear ( 0, (*) w_multiplier <| toFloat w ))
+                    (Statistics.extent >> Maybe.withDefault ( 0.0, 100.0 ) >> Scale.linear ( 0, (*) h_multiplier <| toFloat h ))
+
+        drawPixel : ( Int, Int ) -> ( String, Maybe Float ) -> Svg Msg
+        drawPixel ( pixelX, pixelY ) ( label, value ) =
+            rect[ TypedSvg.Attributes.x <| TypedSvg.Types.Px <| Scale.convert scaleW <| toFloat pixelX
+                , TypedSvg.Attributes.y <| TypedSvg.Types.Px <| Scale.convert scaleH <| toFloat pixelY
+                , TypedSvg.Attributes.width <| TypedSvg.Types.Px <| Scale.convert scaleW 1
+                , TypedSvg.Attributes.height <| TypedSvg.Types.Px <| Scale.convert scaleH 1
+                , TypedSvg.Attributes.fill <| TypedSvg.Types.Paint
+                    <| Maybe.withDefault Color.darkGray
+                                      <| Maybe.map (Scale.Color.infernoInterpolator << Scale.convert scaleTo01) value
+                ][]
+    in g [] <| List.map2 drawPixel pixelMapping data
+
+-- Working with Lists
+
+list_Last : List a -> Maybe a
+list_Last list =
+  case list of
+    []    -> Nothing
+    x::[] -> Just x
+    x::xs -> list_Last xs
+
+list_next : List a -> List a
+list_next list = List.append (List.drop 1 list) (List.take 1 list)
+
+list_get : List a -> Int -> a -- returns the listelement at index i. creates endless loop if length list < i+1
+list_get list i =
+    case list of
+        []    -> list_get list i
+        x::xs -> if i == 0 then x else list_get xs (i-1)
+
+list_set : List a -> Int -> a -> List a -- resets at index i the element with e. does nothing if length list < i+1
+list_set list i e =
+    case list of
+        []    -> []
+        x::xs -> if i==0 then e::xs else x::(list_set xs (i-1) e)
+
+-- Working with Errors
+httpErrorToString : Http.Error -> String
+httpErrorToString err =
+  "Http-Error: "++(
+    case err of
+      Http.BadUrl string  -> "BadUrl "++string
+      Http.Timeout        -> "Timeout"
+      Http.NetworkError   -> "NetworkError"
+      Http.BadStatus int  -> "BadStatus "++(String.fromInt int)
+      Http.BadBody string -> "BadBody "++string
+  )
\ No newline at end of file