So most of the results are in and nationally the Conservative Party have won a majority with 364 seats after 649 of the 650 seats have been declared. This is an increase of 47 seats for Boris Johnson's party from the 2017 election.
Nationally it was a disastrous night for the Labour Party, who took just 203 seats, down 59 from 2017. The party leader, Jeremy Corbyn, has already stated that he will not take Labour into the next election.
For the Liberal Democrats there was also disappointment. They won only 11 seats and their leader, Jo Swinson, lost her own seat to the SNP and will also be stepping down as leader.
While Nigel Farage's Brexit Party did not win a single seat, the numbers particularly in the north of England suggest that they did indeed steal votes from Labour and thereby hand victory to the Conservatives, just as Mr Farage predicted.
Locally, North Bucks saw a similar picture. In both Aylesbury and Buckingham, the Conservative Party had convincing victories, gaining 54% in Aylesbury (32,737 votes) and 58.4% (37,035 votes) in Buckingham.
Their closest rival in Aylesbury was Labour with 25.4% (15,364) and the Liberal Democrats in Buckingham with 26.2% (16,624 votes).
The resignation of John Bercow appears to have had a significant impact on turnout in Buckingham, with it rising ten points from 2017 at 76.3%. The turnout in Aylesbury was actually a point down on 2017 at 70.2%.