The 2017/18 German Bundesliga season finished on Saturday with Bayern Munich crowned champions for the sixth straight year.
AFP Sport looks at the tops and flops of the league campaign in Germany:
Jupp Heynckes (Bayern Munich, head coach)
Not many 73-year-olds get to experience an adventure as Heynckes has done with Bayern this season.
The German giants trailed then-leaders Borussia Dortmund by five points when he took charge in October after Carlo Ancelotti was sacked following the 3-0 humbling at Paris Saint-Germain in the Champions League.
Heynckes immediately turned things around, intensifying training and tightening discipline, as Bayern won 15 of their next 16 games.
They wrapped up the league title in emphatic style, bowed out of the Champions League in the semi-finals and can finish with the double by beating Eintracht Frankfurt in the German Cup final next Saturday.
Heynckes took charge of his final Bundesliga match on Saturday and will be replaced by Niko Kovac as head coach next season.
Domenico Tedesco (Schalke 04, head coach)
The 32-year-old was unheard of this time last year when helping unfashionable Erzgebirge Aue avoid relegation from Germany's second division.
Tedesco took over at Schalke in July and turned the Royal Blues' fortunes around to finish second.
He boldly dropped club captain Benedikt Hoewedes after a long injury lay-off and the World Cup-winner left for Juventus in August.
Schalke showed their fighting spirit by coming back from four goals down at half-time to steal a point with a dramatic 4-4 draw at rivals Dortmund last November, then beat their neighbours last month to seal second place.
The challenge for next season will be to maintain their success without playmaker Leon Goretzka, who will join Bayern for 2018/19.
James Rodriguez (Bayern Munich, midfielder)
James has rediscovered his form on loan from Real Madrid after a difficult spell in Spain.
Madrid paid Monaco 75 million euros ($91.7m) for James after he finished top-scorer at the 2014 World Cup, but Zinedine Zidane's appointment as Madrid coach in January 2016 saw the Colombian receive limited opportunities at the Santiago Bernabeu.
Heynckes, a fluent Spanish speaker, has coaxed superb performances from James, who slots into the space behind striker Robert Lewandowski.
The 26-year-old been at his creative best in key Bundesliga games -- scoring seven goals this season -- and is deadly with his free-kicks.
His loan deal still has a year to run, but if he can again deliver the goods again next season, Bayern will not want to let him go.
Leon Bailey (Bayer Leverkusen, winger)
Usain Bolt's 20-year-old friend has enjoyed a breakthrough season with nine goals and six assists.
A cheeky back-heeled finish against Hoffenheim in January was followed up the following weekend with a thunderbolt of a strike against Mainz as he burst onto the scene in style.
He's not as fast as Bolt, but with a reported top speed of 21.4 miles per hour, Bailey is a nightmarish prospect for defenders and is certainly one to watch out for next season.
Mario Goetze (Borussia Dortmund, midfielder)
The 25-year-old has struggled to live up to his billing as Germany's World Cup hero after scoring the winner in the 2014 final, and is in danger of missing out on the 2018 squad.
A debilitating metabolism disorder ended his 2016/17 season prematurely and Goetze has only shown glimpses of his best this campaign.
His cause hasn't been helped in an erratic Dortmund team which has gone from playing dazzling football one week, to looking disjointed the next.
He was left out of the March friendlies against Spain and Brazil and will be lucky to make Germany's provisional World Cup squad on Tuesday.
Ralph Hasenhuettl (RB Leipzig, head coach)
The 50-year-old has failed to back up last season's remarkable debut top-flight season, when the Bundesliga new boys finished second to Bayern, with Leipzig having to settle for sixth this time around.
The young team struggled with having to play in three competitions in the first half of the season during the Champions League group stage, but made it to the Europa League quarter-finals.
Hasenhuettl's contract expires in June 2019, but extension talks were put on ice until after the season and senior figures are reportedly unhappy with the team's form.
With one eye on next term, it will not help Leipzig or Hasenhuettl that midfielder Naby Keita is leaving for Liverpool.