Movistar’s Nairo Quintana won the seventh stage of the Tour de Suisse on Friday with an impressive ride on the 27-kilometer final climb.

The Colombian left the GC group behind on the early slopes of the ascent and then overtook one breakaway rider after another on his way up. He crossed the line 22 seconds ahead of Jakob Fuglsang (Astana), with race leader Richie Porte (BMC Racing) finishing third on the same time.

“I wanted to see what my real form was, and fortunately, I’m feeling great at the moment,” Quintana said after his victory. “It’s important for one’s own body and the whole squad to see ourselves doing great before the Tour de France. It was a big test for us today, and there’s another one awaiting on Sunday.”

Porte remains in yellow with two stages to go, including a time trial likely to favor him in the final stage. Quintana’s banner day in the Alps propelled him to second overall. He sits 17 seconds down on Porte after stage 7, with Sunweb’s Wilco Kelderman in third, 52 seconds back.

A break of more than two dozen riders got clear in the early goings of the day. BMC drove the pace in the peloton to keep the escapees from opening up too much of a gap, with the break’s advantage topping out at around four minutes.

On the run-in to the final climb, Movistar took over at the front, pulling the pack closer to the break and setting up Quintana, who wasted no time going on the attack as soon as the road tilted upward some 27 kilometers from the line.

Porte and a small selection of other GC riders initially chased Quintana down but he quickly went again and left his rivals in the rearview mirror for good.

As he worked his way up the final climb, Quintana caught and passed survivors of the early break and then linked up with Movistar’s Victor de la Parte, who helped give his team leader a breather for a few kilometers. A small group of former breakaway riders formed around the Movistar duo, but Quintana kicked clear in the final five kilometers to lead the race solo.

Despite the best efforts of Porte and Fuglsang in pursuit, Quintana stayed clear to take the stage victory.

The Tour de Suisse continues Saturday with a 123-kilometer sprinter-friendly stage in and around Bellinzona before the race concludes with Sunday’s time trial.

Tour de Suisse Stage 7 Results

1QUINTANA NairoMovistar Team4:01:39
2FUGLSANG JakobAstana Pro Team0:22
3PORTE RichieBMC Racing Team,,
4MÜHLBERGER GregorBORA - hansgrohe0:38
5KELDERMAN WilcoTeam Sunweb ,,
6MAS EnricQuick-Step Floors,,
7ANTÓN IgorTeam Dimension Data,,
8KRUIJSWIJK StevenTeam LottoNL-Jumbo0:50
9LANDA MikelMovistar Team,,
10OOMEN SamTeam Sunweb 0:59
11ŠPILAK SimonTeam Katusha - Alpecin1:08
12BIDARD FrançoisAG2R La Mondiale1:21
13KANGERT TanelAstana Pro Team,,
14MOLLEMA BaukeTrek - Segafredo1:34
15VICHOT ArthurGroupama - FDJ1:46
16ULISSI DiegoUAE-Team Emirates2:08
17HENAO SebastiánTeam Sky,,
18LAMBRECHT BjorgLotto Soudal,,
19FRANK MathiasAG2R La Mondiale,,
20CARTHY HughTeam EF Education First-Drapac p/b Cannondale,,
21GAUTIER CyrilAG2R La Mondiale2:20
22DOMBROWSKI JoeTeam EF Education First-Drapac p/b Cannondale2:27
23HAIG JackMitchelton-Scott2:33
24IZAGIRRE IonBahrain Merida Pro Cycling Team,,
25DENIFL StefanAqua Blue Sport2:46
26SIVAKOV PavelTeam Sky2:56
27BERNARD JulienTrek - Segafredo,,
28HANSEN JesperAstana Pro Team,,
29BOUWMAN KoenTeam LottoNL-Jumbo3:09
30GONÇALVES JoséTeam Katusha - Alpecin,,
31BATTAGLIN EnricoTeam LottoNL-Jumbo4:14
32POLANC JanUAE-Team Emirates4:25
33VAN AVERMAET GregBMC Racing Team6:10
34CALMEJANE LilianDirect Energie6:39
35KUDUS MerhawiTeam Dimension Data7:09
36WARBASSE LarryAqua Blue Sport7:23
37PERNSTEINER HermannBahrain Merida Pro Cycling Team,,
38SLAGTER Tom-JelteTeam Dimension Data,,
39MONFORT MaximeLotto Soudal,,
40DILLIER SilvanAG2R La Mondiale8:46
41SANTAROMITA IvanNippo - Vini Fantini - Europa Ovini,,
42GESCHKE SimonTeam Sunweb 9:18
43DE LA PARTE VíctorMovistar Team,,
44PADUN MarkBahrain Merida Pro Cycling Team,,
45GILBERT PhilippeQuick-Step Floors9:28
46LAMPAERT YvesQuick-Step Floors,,
47IZAGIRRE GorkaBahrain Merida Pro Cycling Team10:26
48SICARD RomainDirect Energie10:42
49DUNBAR EddieAqua Blue Sport,,
50KÜNG StefanBMC Racing Team10:52
51VAN GARDEREN TejayBMC Racing Team,,
52MATTHEWS MichaelTeam Sunweb 11:55
53GASTAUER BenAG2R La Mondiale13:20
54PETERS NansAG2R La Mondiale,,
55VANDENBERGH StijnAG2R La Mondiale14:29
56ROJAS José JoaquínMovistar Team,,
57SMIT WillieTeam Katusha - Alpecin,,
58GRELLIER FabienDirect Energie16:04
59BURGHARDT MarcusBORA - hansgrohe16:33
60ALBASINI MichaelMitchelton-Scott18:06
61MEYER CameronMitchelton-Scott,,
62PEARSON DanielAqua Blue Sport,,
63JUUL-JENSEN ChristopherMitchelton-Scott18:08
64HOLLENSTEIN RetoTeam Katusha - Alpecin19:11
65LAMMERTINK MauritsTeam Katusha - Alpecin,,
66TAARAMÄE ReinDirect Energie19:14
67OLIVEIRA NelsonMovistar Team19:50
68AMADOR AndreyMovistar Team,,
69CHRISTIAN MarkAqua Blue Sport22:01
70STANNARD IanTeam Sky,,
71DEGENKOLB JohnTrek - Segafredo25:52
72DE KORT KoenTrek - Segafredo,,
73HAAS NathanTeam Katusha - Alpecin,,
74HANSEN AdamLotto Soudal,,
75SWIFT BenUAE-Team Emirates,,
76DOULL OwainTeam Sky,,
77CRAS SteffTeam Katusha - Alpecin,,
78OURSELIN PaulDirect Energie,,
79FRAILE OmarAstana Pro Team,,
80ROSA DiegoTeam Sky,,
81RAST GrégoryTrek - Segafredo,,
82STUYVEN JasperTrek - Segafredo,,
83DOUGALL NicTeam Dimension Data,,
84LINDEMAN Bert-JanTeam LottoNL-Jumbo,,
85JANSE VAN RENSBURG ReinardtTeam Dimension Data,,
86GOŁAŚ MichałTeam Sky,,
87SINKELDAM RamonGroupama - FDJ,,
88KRAGH ANDERSEN SørenTeam Sunweb ,,
89WYNANTS MaartenTeam LottoNL-Jumbo,,
90DECLERCQ TimQuick-Step Floors,,
91LE GAC OlivierGroupama - FDJ,,
92VAUGRENARD BenoîtGroupama - FDJ,,
93QUÉMÉNEUR PerrigDirect Energie,,
94LEEZER TomTeam LottoNL-Jumbo,,
95GATTO OscarAstana Pro Team,,
96COLBRELLI SonnyBahrain Merida Pro Cycling Team,,
97KOREN KristijanBahrain Merida Pro Cycling Team,,
98GRUZDEV DmitriyAstana Pro Team,,
99GASPAROTTO EnricoBahrain Merida Pro Cycling Team,,
100GROSU Eduard MichaelNippo - Vini Fantini - Europa Ovini26:21
101GAVIRIA FernandoQuick-Step Floors28:14
102RICHEZE MaximilianoQuick-Step Floors,,
103SIEBERG MarcelLotto Soudal29:53
104GREIPEL AndréLotto Soudal,,
105DE BUYST JasperLotto Soudal,,
106VANMARCKE SepTeam EF Education First-Drapac p/b Cannondale,,
107KRISTOFF AlexanderUAE-Team Emirates,,
108HALVORSEN KristofferTeam Sky,,
109GERRANS SimonBMC Racing Team,,
110BRESCHEL MattiTeam EF Education First-Drapac p/b Cannondale,,
111CUNEGO DamianoNippo - Vini Fantini - Europa Ovini,,
112SAGAN JurajBORA - hansgrohe,,
113GUARNIERI JacopoGroupama - FDJ,,
114SAGAN PeterBORA - hansgrohe,,
115VERMOTE JulienTeam Dimension Data,,
116ZACCANTI FilippoNippo - Vini Fantini - Europa Ovini,,
117TROIA OlivieroUAE-Team Emirates,,
118KONING PeterAqua Blue Sport,,
119GOGL MichaelTrek - Segafredo,,
120KONRAD PatrickBORA - hansgrohe,,
121WATSON CalvinAqua Blue Sport,,
122MARANGONI AlanNippo - Vini Fantini - Europa Ovini,,
123OSS DanielBORA - hansgrohe,,
124DÉMARE ArnaudGroupama - FDJ,,
125BOUDAT ThomasDirect Energie,,
126DE MARCHI AlessandroBMC Racing Team29:57
127BENNATI DanieleMovistar Team,,
128CIMOLAI DavideGroupama - FDJ,,
129HATSUYAMA ShoNippo - Vini Fantini - Europa Ovini,,
130ITO MasakazuNippo - Vini Fantini - Europa Ovini,,
131PHINNEY TaylorTeam EF Education First-Drapac p/b Cannondale,,
132SCHÄR MichaelBMC Racing Team,,
133HEPBURN MichaelMitchelton-Scott,,
134CORT MagnusAstana Pro Team,,
135ARNDT NikiasTeam Sunweb ,,
136KEISSE IljoQuick-Step Floors,,
137THEUNS EdwardTeam Sunweb ,,
138FERRARI RobertoUAE-Team Emirates,,
139BODNAR MaciejBORA - hansgrohe,,
140BROWN NathanTeam EF Education First-Drapac p/b Cannondale,,
1PORTE RichieBMC Racing Team 26:06:10
2QUINTANA NairoMovistar Team0:17
3KELDERMAN WilcoTeam Sunweb 0:52
4MAS EnricQuick-Step Floors0:53
5OOMEN SamTeam Sunweb 1:13
6FUGLSANG JakobAstana Pro Team1:28
7LANDA MikelMovistar Team1:31
8KRUIJSWIJK StevenTeam LottoNL-Jumbo1:37
9ŠPILAK SimonTeam Katusha - Alpecin1:48
10MOLLEMA BaukeTrek - Segafredo2:26
11VICHOT ArthurGroupama - FDJ2:32
12ULISSI DiegoUAE-Team Emirates2:42
13HAIG JackMitchelton-Scott2:56
14KANGERT TanelAstana Pro Team3:02
15IZAGIRRE IonBahrain Merida Pro Cycling Team3:03
16FRANK MathiasAG2R La Mondiale3:09
17LAMBRECHT BjorgLotto Soudal3:15
18CARTHY HughTeam EF Education First-Drapac p/b Cannondale3:19
19BIDARD FrançoisAG2R La Mondiale3:54
20SIVAKOV PavelTeam Sky4:14
21GAUTIER CyrilAG2R La Mondiale4:39
22BOUWMAN KoenTeam LottoNL-Jumbo6:57
23HANSEN JesperAstana Pro Team7:58
24SLAGTER Tom-JelteTeam Dimension Data9:05
25POLANC JanUAE-Team Emirates9:30
26MONFORT MaximeLotto Soudal9:32
27MÜHLBERGER GregorBORA - hansgrohe9:48
28KUDUS MerhawiTeam Dimension Data10:01
29BERNARD JulienTrek - Segafredo10:23
30HENAO SebastiánTeam Sky10:30
31PERNSTEINER HermannBahrain Merida Pro Cycling Team12:50
32VAN AVERMAET GregBMC Racing Team13:05
33CALMEJANE LilianDirect Energie13:07
34IZAGIRRE GorkaBahrain Merida Pro Cycling Team13:50
35SANTAROMITA IvanNippo - Vini Fantini - Europa Ovini14:00
36PADUN MarkBahrain Merida Pro Cycling Team14:25
37VAN GARDEREN TejayBMC Racing Team14:56
38KÜNG StefanBMC Racing Team16:38
39PETERS NansAG2R La Mondiale20:11
40AMADOR AndreyMovistar Team21:17
41BATTAGLIN EnricoTeam LottoNL-Jumbo21:26
42WARBASSE LarryAqua Blue Sport21:55
43GONÇALVES JoséTeam Katusha - Alpecin22:53
44GESCHKE SimonTeam Sunweb 23:16
45ROJAS José JoaquínMovistar Team23:47
46GASTAUER BenAG2R La Mondiale28:11
47CRAS SteffTeam Katusha - Alpecin28:49
48DILLIER SilvanAG2R La Mondiale30:26
49BURGHARDT MarcusBORA - hansgrohe30:45
50GILBERT PhilippeQuick-Step Floors31:37
51MATTHEWS MichaelTeam Sunweb 33:16
52LAMPAERT YvesQuick-Step Floors34:17
53SICARD RomainDirect Energie34:48
54HOLLENSTEIN RetoTeam Katusha - Alpecin35:14
55LAMMERTINK MauritsTeam Katusha - Alpecin35:38
56SMIT WillieTeam Katusha - Alpecin36:15
57GASPAROTTO EnricoBahrain Merida Pro Cycling Team39:20
58DOMBROWSKI JoeTeam EF Education First-Drapac p/b Cannondale40:10
59DE LA PARTE VíctorMovistar Team40:19
60KONRAD PatrickBORA - hansgrohe43:03
61CORT MagnusAstana Pro Team43:22
62DUNBAR EddieAqua Blue Sport43:47
63KRAGH ANDERSEN SørenTeam Sunweb 44:02
64GOGL MichaelTrek - Segafredo44:18
65OLIVEIRA NelsonMovistar Team45:20
66STUYVEN JasperTrek - Segafredo45:34
67TAARAMÄE ReinDirect Energie47:56
68HAAS NathanTeam Katusha - Alpecin48:25
69FRAILE OmarAstana Pro Team48:29
70JUUL-JENSEN ChristopherMitchelton-Scott48:36
71LE GAC OlivierGroupama - FDJ48:57
72ANTÓN IgorTeam Dimension Data49:25
73ARNDT NikiasTeam Sunweb 51:36
74MEYER CameronMitchelton-Scott53:54
75STANNARD IanTeam Sky54:00
76SAGAN PeterBORA - hansgrohe56:11
77GOŁAŚ MichałTeam Sky57:40
78VANMARCKE SepTeam EF Education First-Drapac p/b Cannondale58:09
79CHRISTIAN MarkAqua Blue Sport58:28
80DENIFL StefanAqua Blue Sport59:50
81VANDENBERGH StijnAG2R La Mondiale1:00:32
82OSS DanielBORA - hansgrohe1:02:53
83ALBASINI MichaelMitchelton-Scott1:03:09
84QUÉMÉNEUR PerrigDirect Energie1:04:45
85BENNATI DanieleMovistar Team1:05:07
86GERRANS SimonBMC Racing Team1:05:19
87WYNANTS MaartenTeam LottoNL-Jumbo1:06:13
88VAUGRENARD BenoîtGroupama - FDJ1:06:32
89RAST GrégoryTrek - Segafredo1:07:22
90GRUZDEV DmitriyAstana Pro Team1:07:27
91OURSELIN PaulDirect Energie1:07:59
92KOREN KristijanBahrain Merida Pro Cycling Team1:08:25
93BROWN NathanTeam EF Education First-Drapac p/b Cannondale1:10:28
94THEUNS EdwardTeam Sunweb 1:10:34
95HANSEN AdamLotto Soudal1:10:50
96GATTO OscarAstana Pro Team1:11:21
97DOULL OwainTeam Sky1:11:45
98GAVIRIA FernandoQuick-Step Floors1:11:47
99DE KORT KoenTrek - Segafredo1:12:02
100GRELLIER FabienDirect Energie1:13:02
101DEGENKOLB JohnTrek - Segafredo1:13:26
102DECLERCQ TimQuick-Step Floors1:14:42
103SWIFT BenUAE-Team Emirates1:16:12
104VERMOTE JulienTeam Dimension Data1:16:36
105COLBRELLI SonnyBahrain Merida Pro Cycling Team1:16:52
106LEEZER TomTeam LottoNL-Jumbo1:17:20
107DE MARCHI AlessandroBMC Racing Team1:17:24
108SCHÄR MichaelBMC Racing Team1:18:40
109LINDEMAN Bert-JanTeam LottoNL-Jumbo1:19:00
110RICHEZE MaximilianoQuick-Step Floors1:19:22
111DÉMARE ArnaudGroupama - FDJ1:19:45
112ROSA DiegoTeam Sky1:20:47
113DOUGALL NicTeam Dimension Data1:22:21
114KRISTOFF AlexanderUAE-Team Emirates1:23:30
115BRESCHEL MattiTeam EF Education First-Drapac p/b Cannondale1:24:07
116CIMOLAI DavideGroupama - FDJ1:24:35
117BOUDAT ThomasDirect Energie1:25:02
118PEARSON DanielAqua Blue Sport1:27:42
119JANSE VAN RENSBURG ReinardtTeam Dimension Data1:29:25
120SINKELDAM RamonGroupama - FDJ1:30:06
121DE BUYST JasperLotto Soudal1:30:44
122ZACCANTI FilippoNippo - Vini Fantini - Europa Ovini1:31:48
123BODNAR MaciejBORA - hansgrohe1:33:38
124SAGAN JurajBORA - hansgrohe1:34:18
125TROIA OlivieroUAE-Team Emirates1:35:29
126KEISSE IljoQuick-Step Floors1:36:26
127KONING PeterAqua Blue Sport1:36:46
128HALVORSEN KristofferTeam Sky1:37:08
129GREIPEL AndréLotto Soudal1:37:16
130CUNEGO DamianoNippo - Vini Fantini - Europa Ovini1:37:55
131ITO MasakazuNippo - Vini Fantini - Europa Ovini1:38:01
132SIEBERG MarcelLotto Soudal1:39:19
133FERRARI RobertoUAE-Team Emirates1:42:04
134GROSU Eduard MichaelNippo - Vini Fantini - Europa Ovini1:42:21
135PHINNEY TaylorTeam EF Education First-Drapac p/b Cannondale1:42:30
136GUARNIERI JacopoGroupama - FDJ1:43:11
137HEPBURN MichaelMitchelton-Scott1:43:45
138HATSUYAMA ShoNippo - Vini Fantini - Europa Ovini1:44:05
139MARANGONI AlanNippo - Vini Fantini - Europa Ovini1:49:14
140WATSON CalvinAqua Blue Sport1:50:29
1MATTHEWS MichaelTeam Sunweb 24
2SAGAN PeterBORA - hansgrohe22
3WATSON CalvinAqua Blue Sport19
4IZAGIRRE GorkaBahrain Merida Pro Cycling Team18
5GAVIRIA FernandoQuick-Step Floors16
6JUUL-JENSEN ChristopherMitchelton-Scott15
7COLBRELLI SonnyBahrain Merida Pro Cycling Team14
8HAAS NathanTeam Katusha - Alpecin14
9KRAGH ANDERSEN SørenTeam Sunweb 13
10QUINTANA NairoMovistar Team12
11ULISSI DiegoUAE-Team Emirates12
12PETERS NansAG2R La Mondiale9
13CHRISTIAN MarkAqua Blue Sport9
14ZACCANTI FilippoNippo - Vini Fantini - Europa Ovini9
15MAS EnricQuick-Step Floors8
16FUGLSANG JakobAstana Pro Team8
17MONFORT MaximeLotto Soudal7
18KÜNG StefanBMC Racing Team6
19WARBASSE LarryAqua Blue Sport6
20STUYVEN JasperTrek - Segafredo6
21PORTE RichieBMC Racing Team6
22KELDERMAN WilcoTeam Sunweb 6
23SLAGTER Tom-JelteTeam Dimension Data6
24LAMPAERT YvesQuick-Step Floors6
25QUÉMÉNEUR PerrigDirect Energie6
26MÜHLBERGER GregorBORA - hansgrohe4
27GONÇALVES JoséTeam Katusha - Alpecin4
28STANNARD IanTeam Sky4
29ALBASINI MichaelMitchelton-Scott4
30GRELLIER FabienDirect Energie4
31GAUTIER CyrilAG2R La Mondiale3
32DILLIER SilvanAG2R La Mondiale3
33LAMMERTINK MauritsTeam Katusha - Alpecin3
34SMIT WillieTeam Katusha - Alpecin3
35GOGL MichaelTrek - Segafredo3
36MOLLEMA BaukeTrek - Segafredo2
37PADUN MarkBahrain Merida Pro Cycling Team2
38CORT MagnusAstana Pro Team2
39OURSELIN PaulDirect Energie2
40CALMEJANE LilianDirect Energie1
41BROWN NathanTeam EF Education First-Drapac p/b Cannondale1
1CHRISTIAN MarkAqua Blue Sport36
2HAAS NathanTeam Katusha - Alpecin32
3SICARD RomainDirect Energie24
4QUINTANA NairoMovistar Team20
5WARBASSE LarryAqua Blue Sport20
6TAARAMÄE ReinDirect Energie20
7ZACCANTI FilippoNippo - Vini Fantini - Europa Ovini17
8PETERS NansAG2R La Mondiale16
9MONFORT MaximeLotto Soudal16
10OSS DanielBORA - hansgrohe15
11FUGLSANG JakobAstana Pro Team15
12SMIT WillieTeam Katusha - Alpecin15
13KRAGH ANDERSEN SørenTeam Sunweb 14
14MAS EnricQuick-Step Floors14
15ULISSI DiegoUAE-Team Emirates12
16GRELLIER FabienDirect Energie12
17PORTE RichieBMC Racing Team12
18QUÉMÉNEUR PerrigDirect Energie12
19KELDERMAN WilcoTeam Sunweb 10
20SLAGTER Tom-JelteTeam Dimension Data8
21JUUL-JENSEN ChristopherMitchelton-Scott7
22WATSON CalvinAqua Blue Sport6
23GASPAROTTO EnricoBahrain Merida Pro Cycling Team4
24FRAILE OmarAstana Pro Team4
25BROWN NathanTeam EF Education First-Drapac p/b Cannondale4
26OURSELIN PaulDirect Energie3
27DILLIER SilvanAG2R La Mondiale3
28MOLLEMA BaukeTrek - Segafredo2
29VICHOT ArthurGroupama - FDJ2
30BOUWMAN KoenTeam LottoNL-Jumbo1
31GOGL MichaelTrek - Segafredo1
1MAS EnricQuick-Step Floors 26:07:03
2OOMEN SamTeam Sunweb 0:20
3LAMBRECHT BjorgLotto Soudal2:22
4CARTHY HughTeam EF Education First-Drapac p/b Cannondale2:26
5SIVAKOV PavelTeam Sky3:21
6MÜHLBERGER GregorBORA - hansgrohe8:55
7KUDUS MerhawiTeam Dimension Data9:08
8PADUN MarkBahrain Merida Pro Cycling Team13:32
9PETERS NansAG2R La Mondiale19:18
10CRAS SteffTeam Katusha - Alpecin27:56
11DUNBAR EddieAqua Blue Sport42:54
12KRAGH ANDERSEN SørenTeam Sunweb 43:09
13OURSELIN PaulDirect Energie1:07:06
14GAVIRIA FernandoQuick-Step Floors1:10:54
15GRELLIER FabienDirect Energie1:12:09
16BOUDAT ThomasDirect Energie1:24:09
17PEARSON DanielAqua Blue Sport1:26:49
18ZACCANTI FilippoNippo - Vini Fantini - Europa Ovini1:30:55
19TROIA OlivieroUAE-Team Emirates1:34:36
20HALVORSEN KristofferTeam Sky,,
1Astana Pro Team 77:45:41
2AG2R La Mondiale1:42
3Movistar Team3:50
4Team Sunweb 7:00
5Bahrain Merida Pro Cycling Team14:45
6BMC Racing Team17:07
7Team Katusha - Alpecin19:35
8Team LottoNL-Jumbo20:27
9Team Dimension Data31:43
10Trek - Segafredo37:49
11Quick-Step Floors44:09
12Team Sky52:57
13Lotto Soudal58:04
14BORA - hansgrohe1:01:19
15Direct Energie1:09:20
17UAE-Team Emirates1:11:17
18Team EF Education First-Drapac p/b Cannondale1:23:39
19Aqua Blue Sport1:34:24
20Groupama - FDJ1:39:49
21Nippo - Vini Fantini - Europa Ovini3:02:12

Results provided by ProCyclingStats.