1. Bundesliga 2019/2020

Spieler-Rangliste

Rangliste sortiert nach «Spielername» Name

 

Niv: Elo-Schnitt der Gegner
Rp:  Elo-Performance
Diff: Elo Gewinn/Verlust bei einem K-Faktor von 10

# Name Verein Elo Nat Tit Pkt Sp % Niv Rp Diff
Adam HorvathSG Speyer-Schwegenheim2488HUNGM275.025202712 +5.8  
Adrien DemuthSchachfreunde Deizisau2492FRAGM      
Alexander AreshchenkoSV Werder Bremen2678UKRGM275.026132806 +3.3  
Alexander DonchenkoSchachfreunde Deizisau2646GERGM778.624612691 +3.9  
Alexander GrafSchachfreunde Deizisau2569GERGM2366.724492574 +0.1  
Alexander HönigSV Mülheim Nord2203GER 020.025551855 -2.0  
Alexander MarkgrafSV Werder Bremen2482GERIM2450.024632463 -1.1  
Alexander NaumannSG Solingen2539GERGM641.725262469 -6.2  
Alexander SeybSF Berlin2433GERIM      
10  Alexander ZajoginFC Bayern München2412BLR       
11  Alexei ShirovOSG Baden-Baden2647ESPGM2540.024562384 -18.0  
12  Alexey SaranaSF Berlin2654RUSGM½225.027222528 -3.5  
13  Allan Stig RasmussenSG Turm Kiel2556DENGM      
14  Alon GreenfeldSV Lingen2500ISRGM      
15  Amir RezazadehSV Mülheim Nord2325GERFM020.026541954 -2.6  
16  Anatoly KarpovSV Hockenheim2617RUSGM      
17  Andreas HeimannSchachfreunde Deizisau2633GERGM750.025492549 -6.8  
18  Andreas RupprechtBCA Augsburg2390GERIM3650.023822382 -0.6  
19  Andreas SchmohelSC Viernheim1915GER       
20  Andrej VolokitinSV Lingen2650UKRGM462.525982685 +2.8  
21  Andriy ManucharyanFC Bayern München1968GER       
22  Anish GiriSG Solingen2764NEDGM      
23  Annmarie MütschSC Viernheim2219GERWIM½225.024582265 +0.5  
24  Anton DemchenkoSG Turm Kiel2641RUSGM2450.026182618 -1.6  
25  Anton KorobovSC Viernheim2688UKRGM462.526062692 +1.0  
26  Antonios PavlidisSG Speyer-Schwegenheim2543GREGM843.825402496 -6.1  
27  Arik BraunSV Hockenheim2609GERGM3475.025102704 +5.2  
28  Arkadij NaiditschOSG Baden-Baden2626AZEGM2540.025262454 -11.9  
29  Arturs NeiksansSG Speyer-Schwegenheim2557LATGM2450.025762576 +0.8  
30  Aryan TariSG Solingen2634NORGM658.326022659 +2.8  
31  Ashot ParvanyanSG Turm Kiel2449GERIM3650.025002500 +3.9  
32  Borki PredojevicSG Solingen2601BIHGM2450.026302630 +0.7  
33  Christoph JablonowskiAachener SV1969GER 010.023501650 -0.9  
34  Christoph LipokBCA Augsburg2271GERFM      
35  Daniel AnwuliBCA Augsburg2330NGRIM      
36  Daniel FridmanSV Mülheim Nord2615GERGM530.025882439 -12.5  
37  Daniel HausrathSV Mülheim Nord2480GERGM4850.025282528 +5.3  
38  Danilo MilanovicSV Lingen2455SRBGM½225.024872294 -4.1  
39  David Anton GuijarroSC Viernheim2703ESPGM275.026422835 +3.8  
40  David BaramidzeSV Hockenheim2601GERGM44100.023502716 +8.0  
41  David GavrilescuSG Turm Kiel2476ROUIM2450.025772577 +6.3  
42  David NavaraSV Mülheim Nord2719CZEGM487.526562992 +12.0  
43  David W L HowellSV Hockenheim2663ENGGM2633.325332408 -20.8  
44  Denis MagerSG Speyer-Schwegenheim2280GERFM½225.025682374 +1.9  
45  Dennis WagnerSV Hockenheim2581GERGM5683.324362709 +10.0  
46  Dirk SebastianHamburger SK2448GERIM843.824552412 -3.7  
47  Dmitrij KollarsSchachfreunde Deizisau2586GERGM4580.023972637 +3.1  
48  Dominik GhengSchachfreunde Deizisau2126GER       
49  Dorian RogozencoHamburger SK2482ROUGM658.325172574 +8.9  
50  Dr. Bassem AminSC Viernheim2686EGYGM2633.325732448 -18.6  
51  Dr. Christian SeelAachener SV2475GERIM818.826392388 -8.7  
52  Dr. Florian HandkeSG Solingen2540GERGM675.024092602 +5.9  
53  Dr. Günther BeikertSC Viernheim2395GERIM22100.022572530 +7.0  
54  Dr. Jan Michael SprengerSF Berlin2482GERGM1425.025642371 -5.9  
55  Dr. Luca ShytajSG Speyer-Schwegenheim2470ITAGM831.224972356 -13.2  
56  Dr. Philipp LambyAachener SV2130GER       
57  Dr. Ralph JungeSG Turm Kiel2228GERFM030.025711871 -4.3  
58  Dr. Volkmar DinstuhlSV Mülheim Nord2387GERIM1250.026642664 +6.8  
59  Eckhard SchmittdielBCA Augsburg2402GERGM550.024552455 +3.6  
60  Eduardas RozentalisBCA Augsburg2543LTUGM641.725202463 -6.6  
61  Elisabeth PähtzUSV TU Dresden2473GERIM      
62  Emil SchmidekSF Berlin2395GERFM      
63  Enrico KrämerSG Speyer-Schwegenheim2218GER 275.023512544 +8.1  
64  Ernesto InarkievSV Hockenheim2661RUSGM856.225432586 -6.9  
65  Erwin L'AmiSG Solingen2620NEDGM½225.026712478 -3.3  
66  Etienne BacrotOSG Baden-Baden2673FRAGM3560.025242596 -4.9  
67  Evgeny PostnyBCA Augsburg2600ISRGM275.026682860 +6.4  
68  Evgeny TomashevskySV Hockenheim2706RUSGM1250.025702570 -3.5  
69  Fabiano CaruanaOSG Baden-Baden2835USAGM      
70  Fabien LibiszewskiSC Viernheim2510FRAGM2450.024772477 -2.6  
71  Falko BindrichSV Lingen2605GERGM462.525762663 +3.4  
72  Fatih BalticSV Mülheim Nord2271GERFM1333.325462421 +5.2  
73  Felix BlohbergerSF Berlin2467AUTIM550.024712471 +2.3  
74  Felix KleinAachener SV2307GERFM1616.725192246 -4.6  
75  Felix LevinSV Lingen2479GERGM1333.324162291 -6.8  
76  Felix MeißnerHamburger SK2362GERFM2450.024322432 +3.5  
77  Filip Boe OlsenSG Turm Kiel2353DENIM020.026571957 -2.7  
78  Filiz OsmanodjaUSV TU Dresden2293GERWGM020.026021902 -1.9  
79  Francisco Vallejo PonsOSG Baden-Baden2710ESPGM383.325942867 +5.6  
80  Frank ZellerBCA Augsburg2357GERIM550.024202420 +4.1  
81  G. Petar ArnaudovBCA Augsburg2471BULGM3650.025212521 +3.8  
82  Gabor KovacsSG Speyer-Schwegenheim2456HUNIM275.023992592 +3.7  
83  Gabor PappBCA Augsburg2602HUNGM641.725982541 -4.2  
84  Gata KamskySchachfreunde Deizisau2674USAGM550.026122612 -4.8  
85  Gengchun WongUSV TU Dresden2190GER       
86  Gennadij FishSV Werder Bremen2453GERGM      
87  Georg MeierSchachfreunde Deizisau2621GERGM764.325482650 +2.7  
88  Gerlef MeinsSV Werder Bremen2415GERIM1250.024232423 +0.3  
89  Gernot GauglitzUSV TU Dresden2392GERIM      
90  Gregory PitlBCA Augsburg2377GERIM3742.924542404 +2.2  
91  Grzegorz GajewskiUSV TU Dresden2618POLGM3742.926132563 -5.6  
92  Hannah MöllerSV Lingen1830GER       
93  Hannes EwertSV Lingen2266GERFM      
94  Hans MöhnUSV TU Dresden2354GERFM625.024632270 -7.6  
95  Hans-Hubert SonntagAachener SV2330GERIM½225.024202226 -2.7  
96  Ian NepomniachtchiSV Hockenheim2784RUSGM      
97  Igor KhenkinSG Turm Kiel2558GERGM856.226262669 +13.1  
98  Igor KovalenkoSC Viernheim2645LATGM4666.725382663 +1.3  
99  Ilja ZaragatskiSC Viernheim2517GERGM462.524362522 +1.5  
100  Ivan CheparinovSG Turm Kiel2686GEOGM350.025862779 +2.4  
101  Ivan IvanisevicSV Lingen2604SRBGM437.525132426 -8.8  
102  Ivan Salgado LopezSG Turm Kiel2584ESPGM1250.025112511 -2.3  
103  Ivan SaricSV Hockenheim2646CROGM4666.725102635 -0.7  
104  Jacek StopaSG Turm Kiel2427POLGM      
105  Jacek TomczakSF Berlin2605POLGM2366.725262651 +1.8  
106  Jakob Leon PajekenSG Turm Kiel2332GERIM625.024442251 -7.2  
107  Jakob Vang GludSG Turm Kiel2531DENGM½225.025262332 -5.7  
108  Jakob WeihrauchHamburger SK2184GER       
109  Jakov LoxineUSV TU Dresden2394GERIM½150.023972397 +0.0  
110  Jan GustafssonOSG Baden-Baden2643GERGM675.023712564 -3.8  
111  Jan SmeetsSG Solingen2585NEDGM1425.025672374 -11.4  
112  Jan WerleSV Werder Bremen2580NEDGM675.025112704 +12.7  
113  Jan-Christian SchröderSF Berlin2568GERGM275.025562748 +4.8  
114  Jan-Krzysztof DudaHamburger SK2753POLGM      
115  Jari ReukerSV Werder Bremen2401GER 1250.026182618 +5.9  
116  Jarno PitlBCA Augsburg1988GER 010.023901690 -0.8  
117  Jens-Uwe MaiwaldUSV TU Dresden2437GERGM750.025232523 +7.7  
118  Jesper Sondergaard ThyboSG Turm Kiel2590DENGM2450.025182518 -2.7  
119  Joel Niels De SilvaSV Hockenheim2179GER       
120  Jonas BjerreSG Turm Kiel2549DENGM5862.525332620 +10.9  
121  Jonas LampertHamburger SK2531GERIM2450.025202520 -0.6  
122  Jonathan CarlstedtHamburger SK2451GERIM      
123  Jonny HectorSG Turm Kiel2476SWEGM2450.024502450 -1.0  
124  Jorden van ForeestSG Solingen2682NEDGM675.026332826 +13.7  
125  Josefine HeinemannSC Viernheim2281GERWGM      
126  Julian MartinOSG Baden-Baden2387GERIM      
127  Julian SteinSG Speyer-Schwegenheim1652GER       
128  Jörg WegerleSG Solingen2401GERIM      
129  Kacper PiorunSF Berlin2601POLGM1250.026002600 -0.3  
130  Kaido KulaotsBCA Augsburg2524ESTGM      
131  Kamil MitonHamburger SK2590POLGM      
132  Kevin SchröderSG Solingen2332GERFM      
133  Klaus BischoffFC Bayern München2503GERGM2633.325252400 -8.7  
134  Klaus PetzoldAachener SV2169GER 010.024431743 -1.7  
135  Konstantin LandaSV Mülheim Nord2628RUSGM275.025492742 +2.9  
136  Konstantin TarlevSC Viernheim2561UKRGM2450.025142514 -3.0  
137  Konstantin UrbanUSV TU Dresden2318GER 350.023682368 +2.2  
138  Krzysztof JakubowskiSF Berlin2481POLGM22100.024002673 +7.2  
139  Lars ThiedeSF Berlin2400GERIM½225.024002207 -5.2  
140  Laurent FressinetSV Werder Bremen2635FRAGM3650.026682668 +2.9  
141  Leopold Franziskus WagnerSV Mülheim Nord2168GER       
142  Lev GutmanSV Lingen2393GERGM11100.026212814 +7.9  
143  Levon AronianOSG Baden-Baden2773ARMGM      
144  Liam VrolijkSV Mülheim Nord2502NEDIM2450.026482648 +8.4  
145  Linus JohanssonFC Bayern München2476SWEIM2540.025232451 -1.6  
146  Liviu-Dieter NisipeanuUSV TU Dresden2655GERGM2366.725262651 -0.5  
147  Loek Van WelySG Solingen2615NEDGM856.225782621 +1.7  
148  Lubomir FtacnikHamburger SK2510SVKGM1425.026462453 -3.0  
149  Luca Jr MoroniSF Berlin2530ITAGM1333.325362411 -4.8  
150  Lucas van ForeestSV Werder Bremen2535NEDGM625.026242431 -8.0  
151  Luis EngelHamburger SK2532GERGM4850.025872587 +5.6  
152  Luisa BashylinaSG Solingen1975GERWCM      
153  Luke J McShaneSV Werder Bremen2680ENGGM2450.026442644 -1.7  
154  Mads AndersenSG Solingen2585DENGM4850.025892589 -0.4  
155  Makan RafieeFC Bayern München2334GERFM462.524522539 +11.0  
156  Marc Andria MaurizziSchachfreunde Deizisau2433FRAIM½150.022532253 -2.0  
157  Marcin DziubaSG Turm Kiel2585POLGM658.325482605 +2.3  
158  Marco BaldaufSF Berlin2503GERGM4757.125322582 +7.9  
159  Marco DobrikovSV Hockenheim2290GERFM      
160  Mario MeyerAachener SV GER       
161  Markus RaggerSG Solingen2679AUTGM4666.726682792 +9.8  
162  Markus SchaeferSG Solingen2375GERIM      
163  Martin AhnAachener SV2171BELFM030.024651765 -4.2  
164  Martin KrämerSF Berlin2574GERGM1425.026382445 -6.9  
165  Martin LokanderFC Bayern München2406SWEIM2540.024062334 -4.6  
166  Martin ZumsandeSV Werder Bremen2456GERIM275.024162608 +4.0  
167  Mateusz BartelUSV TU Dresden2648POLGM570.026212770 +9.0  
168  Matthias BlübaumSchachfreunde Deizisau2647GERGM764.324952597 -3.7  
169  Max WarmerdamSV Mülheim Nord2506NEDIM3475.024702663 +8.7  
170  Maxim MatlakovSV Lingen2685RUSGM1250.026702670 -0.8  
171  Maxim RodshteinSV Lingen2614ISRGM275.026132806 +4.6  
172  Maxime LagardeSchachfreunde Deizisau2655FRAGM      
173  Maxime Vachier-LagraveOSG Baden-Baden2778FRAGM2366.726322757 -0.7  
174  Maximilian MeinhardtSC Viernheim2370GERIM1425.023902198 -9.2  
175  Maximilian NeefUSV TU Dresden2509GERIM      
176  Michael AdamsOSG Baden-Baden2701ENGGM275.024742667 -0.5  
177  Michael FedorovskyFC Bayern München2422GERIM641.724802423 +0.1  
178  Michael FeyginSV Mülheim Nord2459GERGM020.026061906 -6.3  
179  Michael PrusikinBCA Augsburg2549GERGM868.825992740 +22.5  
180  Michal KrasenkowSchachfreunde Deizisau2602POLGM1250.025352535 -2.0  
181  Miguel Santos RuizFC Bayern München2581ESPGM3475.025972790 +10.5  
182  Mihail SaltaevSV Mülheim Nord2480UZBGM½225.025242331 -3.8  
183  Miklos NemethSG Speyer-Schwegenheim2486HUNIM275.024772670 +4.7  
184  Milos PerunovicSV Lingen2585SRBGM3475.024812674 +5.1  
185  Milos StankovicBCA Augsburg2454SRBIM2633.325312406 -4.6  
186  Mykhaylo OleksiyenkoSG Speyer-Schwegenheim2585UKRGM1425.026122419 -9.0  
187  Niclas HuschenbethFC Bayern München2605GERGM½412.526592323 -13.0  
188  Nicolas GeorgiadisFC Bayern München2551SUIGM3650.025622562 +1.9  
189  Nihal SarinHamburger SK2620INDGM      
190  Nijat AbasovSG Speyer-Schwegenheim2664AZEGM5862.526032690 +3.5  
191  Nikita MeskovsSG Speyer-Schwegenheim2582LATGM4666.725842709 +11.6  
192  Nikita VitiugovSV Hockenheim2722RUSGM437.526502562 -9.6  
193  Niklas SchmiderOSG Baden-Baden2291GERFM      
194  Nikola NestorovicBCA Augsburg2470SRBGM625.026162423 -3.0  
195  Nikolaos BegnisAachener SV2281GREFM625.024822289 +0.4  
196  Nikolas WachingerSV Werder Bremen2304GER ½225.024232230 -1.0  
197  Nils GrandeliusHamburger SK2651SWEGM275.026222814 +3.4  
198  Noel StuderFC Bayern München2580SUIGM675.025222715 +13.5  
199  Norbert CoenenAachener SV2289GERIM½225.024782285 -0.4  
200  Oleg BoguslawskiSG Speyer-Schwegenheim2390GERIM2450.023712371 -1.0  
201  Oscar LemmersAachener SV2348NEDIM2825.024972304 -5.1  
202  Pascal FlierlSG Speyer-Schwegenheim2211GER ½225.024512258 +0.8  
203  Patrick ZelbelSV Mülheim Nord2448GERIM2450.024122412 -2.1  
204  Patrick-Robert Breitkopf-LazarAachener SV1671GER 010.021091409 +0.0  
205  Paul HoffmannUSV TU Dresden2385GERIM020.026551955 -3.5  
206  Pavel V. TregubovSV Mülheim Nord2560RUSGM437.525612474 -6.5  
207  Pentala HarikrishnaSG Solingen2719INDGM487.526342907 +6.9  
208  Peter Heine NielsenSchachfreunde Deizisau2618DENGM      
209  Peter LekoSchachfreunde Deizisau2663HUNGM2540.026142542 -8.4  
210  Peter MeisterFC Bayern München2361GERIM      
211  Peter SchreinerSF Berlin2440AUTIM½225.026552462 +0.2  
212  Peter SvidlerOSG Baden-Baden2723RUSGM      
213  Philip LindgrenFC Bayern München2358SWEIM1425.024532260 -5.1  
214  Philipp RichterUSV TU Dresden2127GER 1250.023851685 -1.7  
215  Predrag NikolicSG Solingen2562BIHGM1250.024992499 -1.8  
216  Radoslav GajekSV Lingen2444AUTIM      
217  Radoslaw WojtaszekOSG Baden-Baden2719POLGM2366.725852710 -0.4  
218  Rainer BuhmannSV Hockenheim2580GERGM570.024222571 +0.5  
219  Raj TischbierekUSV TU Dresden2441GERGM½150.024152415 -0.4  
220  Ralf RacheAachener SV1871GER 010.022731573 -0.8  
221  Rasmus SvaneHamburger SK2613GERGM4666.726302755 +12.4  
222  Richard RapportOSG Baden-Baden2760HUNGM778.625862816 +4.6  
223  Robert KempinskiHamburger SK2568POLGM625.026112418 -12.4  
224  Roger MengSV Lingen2456NEDFM      
225  Romain EdouardSV Werder Bremen2649FRAGM2450.026042604 -1.9  
226  Roven VogelUSV TU Dresden2456GERIM2540.025802508 +2.8  
227  Ruben Gideon KöllnerSchachfreunde Deizisau2376GERFM      
228  Rudolf MeessenAachener SV2221BELFM2728.624602302 +3.5  
229  Ruslan PonomariovSV Hockenheim2631UKRGM550.025692569 -4.7  
230  Rustam KasimdzhanovOSG Baden-Baden2661UZBGM487.524492785 +4.5  
231  Rustem DautovSchachfreunde Deizisau2595GERGM      
232  Santosh Gujrathi ViditSV Hockenheim2726INDGM275.026152808 +2.2  
233  Sebastian BognerFC Bayern München2571SUIGM3650.025932593 +2.1  
234  Sebastien MazeSC Viernheim2557FRAGM4666.724802605 +4.7  
235  Sergei MovsesianOSG Baden-Baden2649ARMGM5683.324232696 +4.2  
236  Sergey A. FedorchukSC Viernheim2615UKRGM856.225252568 -5.7  
237  Shakhriyar MamedyarovSC Viernheim2764AZEGM      
238  Simon CommerconSG Speyer-Schwegenheim2202GER 020.025241824 -3.8  
239  Sipke ErnstHamburger SK2540NEDGM658.325452602 +6.0  
240  Spartak GrigorianSV Werder Bremen2405GER       
241  Stefan SchneiderFC Bayern München2380SWEIM      
242  Sune Berg HansenHamburger SK2552DENGM1250.025782578 +0.6  
243  Surya Shekhar GangulySG Solingen2635INDGM½225.026362442 -5.1  
244  Szymon GumularzSF Berlin2513POLIM764.325392641 +13.7  
245  Tamas BanuszSV Hockenheim2628HUNGM3475.022942487 -4.7  
246  Tamir NabatySV Werder Bremen2635ISRGM3650.026592659 +1.1  
247  Thai Dai Van NguyenSV Mülheim Nord2569CZEGM3650.026532653 +7.9  
248  Thal AbergelSC Viernheim2460FRAGM462.524442531 +3.4  
249  Thibaut VandenbusscheAachener SV2442BELIM437.525762488 +2.7  
250  Thies HeinemannHamburger SK2507GERGM5862.525002587 +10.4  
251  Thomas BeerdsenSV Mülheim Nord2479NEDIM½225.027142520 +0.7  
252  Thomas KochAachener SV2461GERIM818.825832332 -13.2  
253  Thorben KoopSV Lingen2348GERIM      
254  Thorbjorn BromannSG Turm Kiel2392DENIM      
255  Thore PerskeSF Berlin2445GERIM641.724302373 -6.1  
256  Tim LennartzAachener SV1613GER       
257  Tino KornitzkyFC Bayern München2137GER       
258  Tom PiceuAachener SV2347BELIM2633.325572432 +5.0  
259  Tom-Frederic WoelkHamburger SK2205GER       
260  Tomislav BodrozicSG Speyer-Schwegenheim2358GERIM2633.324242299 -5.3  
261  Toms KantansSG Speyer-Schwegenheim2499LATGM½225.025232330 -4.3  
262  Uwe BönschUSV TU Dresden2508GERGM735.725302428 -8.2  
263  Valentin BuckelsSV Mülheim Nord2448GERIM818.825812330 -13.0  
264  Valentin DragnevFC Bayern München2553AUTGM641.725832526 -2.2  
265  Velislav KukovBCA Augsburg2348BULIM      
266  Viktor LaznickaSV Lingen2638CZEGM437.526312544 -6.4  
267  Vincent KeymerSchachfreunde Deizisau2558GERGM778.624122642 +9.5  
268  Viswanathan AnandOSG Baden-Baden2753INDGM2366.725952720 -1.2  
269  Vladimier FedoseevSV Hockenheim2678RUSGM868.825752716 +4.7  
270  Vladimir EpishinSV Lingen2527RUSGM22100.025322806 +9.5  
271  Vladimir MalakhovSC Viernheim2669RUSGM462.526142702 +2.1  
272  Vlastimil BabulaSV Werder Bremen2569CZEGM437.525082421 -8.5  
273  Wojciech MorandaSF Berlin2605POLGM3560.025672639 +2.7  
274  Wouter SpoelmanSV Werder Bremen2571NEDGM641.726042546 -3.0  
275  Yi WeiSV Hockenheim2732CHNGM      
276  Yifan HouOSG Baden-Baden2658CHNGM3475.024432636 -0.9  
277  Yuriy KryvoruchkoSC Viernheim2682UKRGM2450.026322632 -2.8  
278  Zahar EfimenkoSV Werder Bremen2602UKRGM462.525982684 +4.6  
279  Zbigniew PaklezaSG Turm Kiel2500POLGM275.023802574 +1.7  
280  Zbynek HracekSV Werder Bremen2563CZEGM462.525602647 +5.0  
281  Zdenko KozulSchachfreunde Deizisau2597CROGM      
282  Zoltan AlmasiUSV TU Dresden2687HUNGM550.025962596 -6.6  
283  Zoltan RibliFC Bayern München2524HUNGM1250.022542254 -6.7  
284  Zyon KollenSV Lingen2337NEDFM      

 


Godesberger SK 1929 e.V.
Internet: http://www.godesbergersk.de   E-Mail:
Copyright © 1999-2020 by