Canadian Prime Minister Mark Carney has announced three by-elections on 13 April - races that could give his party a majority in the government.

Two of the by-elections will be held in Toronto, in constituencies that are considered strongholds for Carney's Liberal party, while the third will be a closely watched contest in Montreal where his party won by just one vote last year.

If they win all three seats, the Liberals would secure a narrow majority government, allowing the prime minister to pass legislation more easily and avoid an election for three more years.

The Liberal government currently has 169 seats in parliament, just three shy of a majority in Canada's House of Commons.

Carney has been able to get so close to a majority, in part, due to recent defections by three former Conservative members of parliament.