diff --git a/README.md b/README.md
index 40818ac8549ff7a0c398926fe8da785625eea8e5..d016b1e12f60b3b41e807a782ab3490d03bcdab1 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,23 @@ V1.0 - Fragen und Anmerkungen jan.eggers (klammeraffe) hr.de
 
 ## Aufbau
 
-Das Skript update_feldmann() ist dazu gedacht, 1x pro Minute aufgerufen zu werden. 
+- R - Programm- und Hilfscode
+- index - Konfigurations- und Indexdateien z.B. mit den Stadtteilzuordnungen
+- daten - Ausgabeordner für die aus dem Netz gelesenen und aufbereiteten Daten
+- testdaten - Künstlich generierte Test-Dateien zur Simulation
+
+### R-Dateien im Ordner R
+
+- update_feldmann.R - Hauptskript
+- lies_aktuellen_stand.R - Funktionen zur Datenakquise und -aufbereitung
+- aktualisiere_karten.R - Update der Datawrapper-Karten und -Tabelle im Ortsteilergebnissen
+- generiere_balken.R - Funktionen zur Generierung des HTML/CSS-Codes für die Datawrapper-Darstellungen
+- messaging.R - Status- und Fehlermeldung über MS Teams
+- generiere_testdaten.R - Zufällige Erzeugung von Simulationsdateien
+
+- daten_vorbereiten.R - Hilfsskripte zur einmaligen Erzeugung der Index-Dateien
+
+Das Skript **update_feldmann()** ist gewissermaßen das Hauptprogramm. Es ist dazu gedacht, 1x pro Minute aufgerufen zu werden. 
 Es lädt die Wahllokal-Daten und vergleicht sie mit dem letzten abgelegten Stand - 
 wenn sich nichts verändert hat, wird das Skript beendet. 
 
@@ -21,12 +37,19 @@ das kann man in dieser Form auch direkt vom Server der Stadt ziehen; da ich aber
 die Zuordnung der Wahllokale zu den Stadtteilen habe und selbst aggregieren kann, 
 rechnet eine Routine es schnell selbst. 
 
-Aus der Stadtteil-Auszählung werden die drei Datawrapper-Grafiken auf den aktuellen
+Durch Aufruf der Funktion **aktualisiere_karten()** werden die Ortsdaten erzeugt und für die Stadtteile in Datawrapper ausgegeben. Aus der Stadtteil-Auszählung werden die drei Datawrapper-Grafiken auf den aktuellen
 Stand gebracht: 
 - eine Choropleth-Karte mit dem Anteil der Ja-Stimmen an der Wahlbevölkerung,
 - eine Symbol-Karte mit den absoluten Ja-Stimmen nach Wahlbezirk, 
 - eine Tabelle mit den Ergebnissen in barrierefreier Form. 
 
+### index-Dateien
+
+- config.csv enthält die URL, von der Daten gelesen werden, die Anzahl der Wahlberechtigten für Frankfurt (diese Zahl wird Sonntag 18 Uhr aktualisiert) und die IDs von Datawrapper-Zielen. 
+- stadtteile-skaliert_08.geojson - Shapefile für die Datawrapper-Darstellungn der Ergebnisse
+- stadtteile.csv - eine Datei mit den Namen der Ortsteile, Geokoordinaten mit einem Punkt, und den Wahlergebnissen des 1. Wahlgangs der Bürgermeisterwahl 2018 zum Vergleich
+- zuordnung_wahllokale.csv - die Zuordnung der Wahllokale zu den Ortsteilen
+- opendata-wahllokale.csv - Adressen der Wahllokale vom Wahlamt
 
 ## Datenquelle und Datenformat
 
diff --git a/index/ob2018stadtteile.csv b/index/ob2018stadtteile.csv
deleted file mode 100644
index 748530eb784027a859bcffa15799bf7b34ddd6e4..0000000000000000000000000000000000000000
--- a/index/ob2018stadtteile.csv
+++ /dev/null
@@ -1,46 +0,0 @@
-Stadtteilnummer;Stadtteil;Wahlberechtigte ohne Sperrvermerk;Wahlberechtigte mit Sperrvermerk;Wahlberechtigte insgesamt;Wähler;Anteil Wähler;Briefwähler;Anteil Briefwähler;ungültige Stimmen;gültige Stimmen;Dr. Weyland,Bernadette;Anteil Dr. Weyland,Bernadette;Feldmann,Peter;Anteil Feldmann,Peter;Dr. Eskandari-Grünberg,Nargess;Anteil Dr. Eskandari-Grünberg,Nargess;Wißler,Janine;Anteil Wißler,Janine;Wehnemann,Nico;Anteil Wehnemann,Nico;Weingärtner,Michael;Anteil Weingärtner,Michael;Yang,Ming;Anteil Yang,Ming;Stein,Volker;Anteil Stein,Volker;Dr. Herrschaft,Felicia;Anteil Dr. Herrschaft,Felicia;Schloberg,Karsten;Anteil Schloberg,Karsten;Wünsch,Juli;Anteil Wünsch,Juli;Fischer,Hein;Anteil Fischer,Hein
-1;Altstadt;2456;316;2772;1035;37,3;280;27,1;5;1030;269;26,1;427;41,5;87;8,4;104;10,1;17;1,7;16;1,6;8;0,8;85;8,3;1;0,1;13;1,3;2;0,2;1;0,1
-2;Innenstadt;3913;430;4343;1074;24,7;372;34,6;8;1066;255;23,9;435;40,8;118;11,1;118;11,1;14;1,3;18;1,7;7;0,7;75;7;4;0,4;18;1,7;3;0,3;1;0,1
-4;Westend-Süd;11235;2141;13376;5835;43,6;1900;32,6;21;5814;2479;42,6;1814;31,2;576;9,9;305;5,2;40;0,7;59;1;32;0,6;445;7,7;5;0,1;45;0,8;8;0,1;6;0,1
-5;Westend-Nord;6015;872;6887;2761;40,1;769;27,9;10;2751;931;33,8;1064;38,7;280;10,2;217;7,9;29;1,1;37;1,3;17;0,6;140;5,1;8;0,3;23;0,8;3;0,1;2;0,1
-6;Nordend-West;19732;3256;22988;10779;46,9;2802;26;36;10743;2795;26;4368;40,7;1488;13,9;1163;10,8;124;1,2;120;1,1;42;0,4;496;4,6;24;0,2;88;0,8;22;0,2;13;0,1
-7;Nordend-Ost;15299;2091;17390;7852;45,2;1821;23,2;35;7817;1311;16,8;3578;45,8;1224;15,7;1107;14,2;111;1,4;75;1;23;0,3;268;3,4;19;0,2;67;0,9;27;0,3;7;0,1
-8;Ostend;18625;2321;20946;8411;40,2;2041;24,3;53;8358;1782;21,3;3873;46,3;1054;12,6;913;10,9;109;1,3;98;1,2;38;0,5;363;4,3;17;0,2;86;1;20;0,2;5;0,1
-9;Bornheim;19775;2457;22232;9682;43,5;2170;22,4;49;9633;1658;17,2;4954;51,4;1117;11,6;1084;11,3;146;1,5;101;1;31;0,3;398;4,1;21;0,2;88;0,9;29;0,3;6;0,1
-10;Gutleut-/Bahnhofsviertel;6223;579;6802;2113;31,1;472;22,3;10;2103;490;23,3;831;39,5;240;11,4;292;13,9;44;2,1;16;0,8;14;0,7;138;6,6;12;0,6;20;1;3;0,1;3;0,1
-11;Gallus;21934;2024;23958;6529;27,3;1752;26,8;41;6488;1443;22,2;2926;45,1;654;10,1;640;9,9;93;1,4;112;1,7;64;1;469;7,2;23;0,4;53;0,8;7;0,1;4;0,1
-12;Bockenheim;24160;2930;27090;10377;38,3;2417;23,3;45;10332;2204;21,3;4546;44;1349;13,1;1339;13;132;1,3;161;1,6;56;0,5;417;4;16;0,2;84;0,8;20;0,2;8;0,1
-13;Sachsenhausen-Nord;20530;2911;23441;9940;42,4;2537;25,5;43;9897;2768;28;4128;41,7;1158;11,7;853;8,6;101;1;111;1,1;43;0,4;581;5,9;20;0,2;116;1,2;15;0,2;3;0
-14;Sachsenhausen-Süd;17390;3320;20710;8739;42,2;2943;33,7;39;8700;2612;30;3702;42,6;816;9,4;633;7,3;70;0,8;91;1;44;0,5;598;6,9;10;0,1;107;1,2;11;0,1;6;0,1
-16;Oberrad;8361;845;9206;3109;33,8;765;24,6;16;3093;799;25,8;1491;48,2;217;7;225;7,3;41;1,3;38;1,2;11;0,4;230;7,4;5;0,2;30;1;4;0,1;2;0,1
-17;Niederrad;15138;1661;16799;5412;32,2;1476;27,3;46;5366;1206;22,5;2712;50,5;352;6,6;431;8;70;1,3;61;1,1;38;0,7;415;7,7;13;0,2;50;0,9;12;0,2;6;0,1
-18;Schwanheim;12667;1269;13936;5261;37,8;1140;21,7;44;5217;1684;32,3;2524;48,4;210;4;258;4,9;33;0,6;84;1,6;30;0,6;325;6,2;4;0,1;50;1;11;0,2;4;0,1
-19;Griesheim;14030;880;14910;3670;24,6;787;21,4;38;3632;795;21,9;1921;52,9;227;6,2;224;6,2;38;1;86;2,4;41;1,1;261;7,2;6;0,2;22;0,6;4;0,1;7;0,2
-20;Rödelheim;11263;1183;12446;4518;36,3;1060;23,5;31;4487;891;19,9;2108;47;417;9,3;639;14,2;62;1,4;72;1,6;21;0,5;228;5,1;7;0,2;26;0,6;10;0,2;6;0,1
-21;Hausen;4083;435;4518;1814;40,2;507;27,9;18;1796;448;24,9;889;49,5;141;7,9;151;8,4;16;0,9;30;1,7;9;0,5;88;4,9;1;0,1;16;0,9;3;0,2;4;0,2
-22;Praunheim;9849;1244;11093;4365;39,3;1102;25,2;28;4337;1027;23,7;2109;48,6;304;7;416;9,6;28;0,6;76;1,8;14;0,3;312;7,2;6;0,1;23;0,5;18;0,4;4;0,1
-24;Heddernheim;10780;1087;11867;4579;38,6;946;20,7;33;4546;928;20,4;2385;52,5;293;6,4;384;8,4;65;1,4;86;1,9;20;0,4;344;7,6;10;0,2;15;0,3;11;0,2;5;0,1
-25;Niederursel;9521;937;10458;3843;36,7;840;21,9;25;3818;954;25;1797;47,1;298;7,8;286;7,5;41;1,1;93;2,4;17;0,4;284;7,4;9;0,2;20;0,5;18;0,5;1;0
-26;Ginnheim;10061;1124;11185;4310;38,5;995;23,1;25;4285;939;21,9;2101;49;376;8,8;429;10;46;1,1;73;1,7;22;0,5;245;5,7;6;0,1;38;0,9;9;0,2;1;0
-27;Dornbusch;11794;1733;13527;6140;45,4;1504;24,5;38;6102;1765;28,9;2671;43,8;592;9,7;526;8,6;53;0,9;81;1,3;37;0,6;308;5;5;0,1;51;0,8;12;0,2;1;0
-28;Eschersheim;9717;1449;11166;5005;44,8;1288;25,7;23;4982;1408;28,3;2159;43,3;522;10,5;408;8,2;47;0,9;79;1,6;16;0,3;283;5,7;6;0,1;34;0,7;15;0,3;5;0,1
-29;Eckenheim;8839;799;9638;3457;35,9;720;20,8;32;3425;678;19,8;1764;51,5;260;7,6;310;9,1;41;1,2;75;2,2;7;0,2;248;7,2;17;0,5;21;0,6;2;0,1;2;0,1
-30;Preungesheim;9316;906;10222;3983;39;799;20,1;18;3965;838;21,1;2025;51,1;330;8,3;347;8,8;33;0,8;48;1,2;24;0,6;266;6,7;10;0,3;31;0,8;8;0,2;5;0,1
-31;Bonames;4125;342;4467;1566;35,1;286;18,3;17;1549;311;20,1;862;55,6;92;5,9;109;7;7;0,5;36;2,3;8;0,5;98;6,3;4;0,3;11;0,7;10;0,6;1;0,1
-32;Berkersheim;2261;346;2607;1137;43,6;297;26,1;8;1129;304;26,9;515;45,6;87;7,7;98;8,7;10;0,9;25;2,2;2;0,2;79;7;2;0,2;5;0,4;1;0,1;1;0,1
-33;Riederwald;2952;257;3209;1070;33,3;227;21,2;7;1063;132;12,4;669;62,9;42;4;138;13;6;0,6;9;0,8;5;0,5;50;4,7;1;0,1;6;0,6;0;0;5;0,5
-34;Seckbach;6603;816;7419;2926;39,4;755;25,8;17;2909;768;26,4;1381;47,5;256;8,8;235;8,1;24;0,8;40;1,4;5;0,2;169;5,8;2;0,1;18;0,6;9;0,3;2;0,1
-35;Fechenheim;9696;685;10381;2571;24,8;612;23,8;20;2551;534;20,9;1475;57,8;132;5,2;162;6,4;28;1,1;42;1,6;17;0,7;130;5,1;3;0,1;17;0,7;6;0,2;5;0,2
-36;Höchst;9191;668;9859;2527;25,6;555;22;21;2506;498;19,9;1251;49,9;210;8,4;253;10,1;48;1,9;39;1,6;14;0,6;129;5,1;6;0,2;52;2,1;4;0,2;2;0,1
-37;Nied;11841;818;12659;3730;29,5;722;19,4;22;3708;878;23,7;1975;53,3;166;4,5;224;6;33;0,9;76;2;26;0,7;290;7,8;2;0,1;30;0,8;7;0,2;1;0
-38;Sindlingen;5368;395;5763;1768;30,7;353;20;20;1748;416;23,8;1011;57,8;53;3;80;4,6;21;1,2;39;2,2;12;0,7;103;5,9;0;0;7;0,4;4;0,2;2;0,1
-39;Zeilsheim;7404;608;8012;2328;29,1;535;23;29;2299;654;28,4;1199;52,2;86;3,7;118;5,1;23;1;41;1,8;8;0,3;144;6,3;2;0,1;18;0,8;5;0,2;1;0
-40;Unterliederbach;9779;706;10485;3201;30,5;637;19,9;25;3176;944;29,7;1533;48,3;168;5,3;212;6,7;25;0,8;53;1,7;13;0,4;170;5,4;2;0,1;50;1,6;2;0,1;4;0,1
-41;Sossenheim;9447;679;10126;2684;26,5;587;21,9;32;2652;840;31,7;1270;47,9;139;5,2;130;4,9;27;1;36;1,4;11;0,4;168;6,3;1;0;22;0,8;4;0,2;4;0,2
-42;Nieder-Erlenbach;3056;488;3544;1808;51;439;24,3;12;1796;716;39,9;665;37;142;7,9;82;4,6;20;1,1;36;2;2;0,1;122;6,8;2;0,1;4;0,2;5;0,3;0;0
-43;Kalbach-Riedberg;11257;1152;12409;5359;43,2;1038;19,4;26;5333;1749;32,8;2349;44;476;8,9;269;5;49;0,9;87;1,6;33;0,6;266;5;3;0,1;35;0,7;12;0,2;5;0,1
-44;Harheim;3116;432;3548;1846;52;402;21,8;10;1836;764;41,6;601;32,7;132;7,2;96;5,2;14;0,8;43;2,3;8;0,4;150;8,2;6;0,3;12;0,7;6;0,3;4;0,2
-45;Nieder-Eschbach;7179;862;8041;2979;37;737;24,7;29;2950;944;32;1204;40,8;226;7,7;168;5,7;28;0,9;86;2,9;16;0,5;243;8,2;7;0,2;14;0,5;9;0,3;5;0,2
-46;Bergen-Enkheim;11766;1665;13431;5774;43;1503;26;32;5742;1701;29,6;2583;45;406;7,1;334;5,8;56;1;103;1,8;22;0,4;475;8,3;9;0,2;38;0,7;10;0,2;5;0,1
-47;Frankfurter Berg;4941;468;5409;2049;37,9;407;19,9;19;2030;522;25,7;978;48,2;135;6,7;159;7,8;34;1,7;44;2,2;10;0,5;122;6;3;0,1;11;0,5;8;0,4;4;0,2
-;Stadt insgesamt;452688;52587;505275;189916;37,6;46297;24,4;1156;188760;48032;25,4;86823;46;17648;9,3;16669;8,8;2097;1,1;2832;1,5;938;0,5;11218;5,9;340;0,2;1585;0,8;409;0,2;169;0,1
diff --git a/index/zentroide.csv b/index/zentroide.csv
deleted file mode 100644
index 6c01bcedde6a138ccc6f23352c09c925a05d50c7..0000000000000000000000000000000000000000
--- a/index/zentroide.csv
+++ /dev/null
@@ -1,45 +0,0 @@
-STT,Shape_Leng,Shape_Area,NAME
-"1",3246.50336244,506567.302747,Altstadt
-"2",7682.0601294,1490200.89629,Innenstadt
-"4",8382.11214938,2494895.4421,Westend-Süd
-"5",5882.09282338,1630791.61391,Westend-Nord
-"6",8492.9822688,3097758.64287,Nordend-West
-"7",6360.44539376,1530531.93183,Nordend-Ost
-"8",10941.4475374,5558007.54887,Ostend
-"9",8307.7531642,2783942.45168,Bornheim
-"10",10636.3052803,2336113.79188,Gutleut- und Bahnhofsviertel
-"11",9966.86172965,4512465.83969,Gallus
-"12",15551.0783172,8025712.89522,Bockenheim
-"13",11334.2297164,4228538.08192,Sachsenhausen-Nord
-"14",52725.6395956,54668620.6195,Sachsenhausen-Süd und Flughafen
-"16",8408.63049619,2705423.33135,Oberrad
-"17",11657.6724783,6119869.99388,Niederrad
-"18",17370.1552298,14761540.2972,Schwanheim
-"19",11666.167878,5096278.85391,Griesheim
-"20",10601.4590033,4655909.71952,Rödelheim
-"21",5971.99975786,1245429.93522,Hausen
-"22",12819.2927644,5150078.39841,Praunheim
-"24",7062.20915036,2512527.99004,Heddernheim
-"25",17218.9119362,7400010.08944,Niederursel
-"26",7927.28438588,2692768.59787,Ginnheim
-"27",10408.8956447,2381980.04842,Dornbusch
-"28",9996.16428731,3231404.25279,Eschersheim
-"29",7947.72737103,2084449.0419,Eckenheim
-"30",9713.20382227,3679083.90825,Preungesheim
-"31",5429.38078236,1370475.09218,Bonames
-"32",8758.27520312,3182489.49906,Berkersheim
-"33",4041.52241905,976773.458365,Riederwald
-"34",13052.9992861,7990475.22287,Seckbach
-"35",13617.1503107,7074421.05332,Fechenheim
-"36",13143.3336268,4593964.97889,Höchst
-"37",9916.39176308,3704544.95018,Nied
-"38",12879.9864686,3965052.07991,Sindlingen
-"39",12399.4010702,5462797.97552,Zeilsheim
-"40",12800.8758111,6015783.22976,Unterliederbach
-"41",10792.909728,5914916.98748,Sossenheim
-"42",13474.7203596,8360361.97443,Nieder-Erlenbach
-"43",12576.9514872,6593988.59303,Kalbach-Riedberg
-"44",10638.3166746,4832897.98209,Harheim
-"45",11174.8124013,6343315.34634,Nieder-Eschbach
-"46",18021.0142135,12591174.787,Bergen-Enkheim
-"47",7901.77597555,2564397.7516,Frankfurter Berg