It's all to play for in Keighley, a key marginal seat ranked 8th on the Conservatives' target list. A swing of just 0.24% would see the seat change hands once again after John Grogan won it for Labour just two years ago - one of only two occasions since 1959 on which the party which won Keighley did not go on to form a government.

The man tasked with doing so is Robbie Moore, who says he will back Boris Johnson's mantra to 'get Brexit done' and then move the political agenda on to other things.

Waqas Khan, the Brexit Party candidate, could put a spanner in the works for Mr Moore for the Tories by splitting the pro-Brexit vote. He has previously stood for UKIP in Shipley.

The Liberal Democrats finished dead last here in 2015 but improved that to fourth in 2017. Tom Franks has the unenviable task of continuing the party's revival in a seat where their peak support, in 2010, was less than 15%.

Completing the line-up are the Yorkshire Party and the SDP, neither of whom have contested the seat before.

Older voters may be surprised to see the SDP - formed as a breakaway from the Labour Party in the 1980s - on the ballot paper but the party has never entirely gone away, and this year is contesting 20 seats.