The 2020 Formula One grid is all but complete now, with Williams the only team yet to confirm its lineup for next season.
Here is how the grid looks and what led every team to the decision it has made.
Mercedes
Lewis Hamilton, Valtteri Bottas
If it ain't broke, don't fix it. Hamilton will go into 2020 in the best position he can be for a shot at equaling Michael Schumacher's record of seven world titles and surpassing his 91 career race wins. Joining him for a fourth season will be Bottas, who Toto Wolff handed a one-year deal to safe in the knowledge that junior driver George Russell is progressing well at Williams.
Ferrari
Sebastian Vettel, Charles Leclerc
Despite murmurings that Vettel could be on his way out of Ferrari at the end of the year, the four-time world champion still has another year on his contract and shows no signs of wanting to cut his career short. The German driver has rediscovered some of his magic touch since Leclerc claimed back-to-back victories in Belgium and Italy. The potentially explosive pairing will hope Ferrari has a car capable of challenging for the title from the get-go in 2020.
Red Bull
Max Verstappen, Alexander Albon
Red Bull is looking more and more like Verstappen's team, but the Dutchman will enter a contract year in 2020 expecting a car to challenge for a title. Joining him will be Albon, who was promoted from Toro Rosso in the August summer break and kept the job with a string of impressive drives in his first appearances with the team. With Albon growing in confidence and Verstappen one of the grid's premier talents, this could be one of F1's best partnerships next season if equipped with the right car.
Renault
Daniel Ricciardo, Esteban Ocon
Renault signed Ricciardo to a lucrative two-year deal when it poached the Australian driver from Red Bull, so he will remain in 2020. Intriguingly, he will be a free agent at the end of next year at a time when some interesting options might be on the table.
Joining Ricciardo will be highly rated Ocon, who spent a year without a race seat despite an impressive couple of seasons with Force India. Ocon's arrival is manna from heaven for Renault, giving it a French driver to lead the team -- his deal will see him stay with the team into 2021, the year Renault hopes to leap back to the front of the grid under the new rules. Lingering doubts about Renault's participation in F1 beyond 2020 might be a lingering narrative in the new season.
Ocon's break was bad news for Nico Hulkenberg, who is still without an F1 race seat for next year.
What now for Hulkenberg?
Hulkenberg is likely to be one of the great 'what if' cases in Formula One. The German driver looks set to leave F1 with the unenviable record of the most race starts without a single visit to the podium. If one moment could sum up his career it would have been at this year's German Grand Prix, when he slid off the race track and into the wall while running in a promising position as the rain intensified.
Alfa Romeo and Haas appeared to be options for him, but both have closed off. Hulkenberg has also said he has no interest in driving at Williams.
Ferrari, the team that overlooked Hulkenberg for a race seat in 2014, has given a home to castaway F1 drivers previously -- Daniil Kvyat and Brendon Hartley have enjoyed recent stints as simulator driver. If Hulkenberg wants competitive racing he will need to look elsewhere. Links to Porsche's Formula E project were wide of the mark, but IndyCar might well be an option having provided the likes of Alexander Rossi and Marcus Ericsson a chance to re-establish themselves after leaving F1.
Haas
Kevin Magnussen, Romain Grosjean
Ahead of the Singapore Grand Prix, Haas confirmed the somewhat surprising decision to retain its current lineup. Magnussen's current deal runs until the end of 2020, but there were questions whether Grosjean, who has had patches of really shaky form over the past two seasons, would be replaced for next season. The presence of Hulkenberg on the driver market seemed to give Haas a ready-made and reliable replacement, but it decided to stick with the man who joined ahead of the American team's debut season on the grid in 2016.
McLaren
Ahead of the British Grand Prix, McLaren confirmed it would continue with the same driver lineup for 2020. It came as little surprise given the upward trajectory of the team and the positive relationship between the two drivers. The only other thing it confirmed, although it wasn't really a surprise, was that Fernando Alonso would not be returning with McLaren next year.
Racing Point
Perez will remain with Racing Point until the 2022 season, after a three-year contract extension was confirmed during the Belgian Grand Prix weekend. Perez joined the outfit under its former guise, Force India, in 2014 and helped save the team from administration last summer. Lance Stroll, son of the team's billionaire owner Lawrence Stroll, will remain at the team.
Toro Rosso
Toro Rosso will continue with the lineup its had since the Belgian Grand Prix. Gasly paid the price for his premature promotion to Red Bull but the fact the company is unwilling to pull the plug on him just yet shows a few things -- faith in Gasly to turn it around, but also a lack of realistic options elsewhere in its driver programme. The reliable Kvyat, who scored Toro Rosso a popular podium at the German Grand Prix, remains on for another season.
Alfa Romeo
Kimi Raikkonen, Antonio Giovinazzi
Giovinazzi found form at exactly the right point in his first full F1 season. Doubts about his future lingered during the summer break, but since a top-10 finish at his home race, the Italian Grand Prix, he has been more than a match for teammate Raikkonen. A contract extension was duly confirmed after the U.S. Grand Prix.
Raikkonen, the 2007 world champion and the longest-serving active driver on the grid, will remain for an 18th season.
Williams
George Russell, To Be Confirmed
In his rookie season, Russell has made the returning Robert Kubica look very ordinary. The gloss quickly came off Kubica's fairy-tale comeback story this year -- the Pole returned for the first time since the near-fatal rally crash he suffered in 2011. He confirmed ahead of the Singapore Grand Prix that he will not remain with Williams for a second season.
Even before Hulkenberg ruled himself out of contention, Canadian F2 driver Nicholas Latifi has seemed the most logical candidate. He's already completed a handful of Friday practice appearances for the team in Kubica's place and would bring a good injection of financial backing to the Grove team.