Get all your news in one place.
100’s of premium titles.
One app.
Start reading
Evening Standard
Evening Standard
Sport
Simon Collings,Tashan Deniran-Alleyne and Malik Ouzia

Arsenal vs Monaco LIVE! Champions League result, match stream and latest updates today

Arsenal vs Monaco – LIVE!

Arsenal have taken a giant step towards securing a place in the Champions League last-16 after recording a 3-0 win over Monaco as Bukayo Saka netted a brace before turning provider for Kai Havertz in the closing stages.

However, despite the margin of victory, the Gunners’ profligacy in front of goal will no doubt be of concern to Mikel Arteta as his side ought to have had the game wrapped up by half-time but Gabriel Jesus and Gabriel Martinelli were guilty of missing some guilt-edged opportunities. That gave the visitors confidence and they improved after the break.

Tilo Kehrer and Breel Embolo both passed up presentable chances but ultimately the game was put out of the Ligue 1 outfit’s reach with those two late goals as the North London club enjoyed the perfect night as they move on to 13 points in this new Champions League league phase and are very much on course to qualify for the last 16 with Dinamo Zagreb and Girona to come in the new year.

Arsenal vs Monaco latest news

  • Bukayo Saka delivers to put Gunners on the brink of Champions League qualification
  • Arsenal player ratings vs Monaco: Trademark Gabriel Jesus as Myles Lewis-Skelly and Bukayo Saka impress
  • Free-flowing Arsenal back to their best in statement Champions League win to bust set-piece myth
  • Mikel Arteta 'not surprised' as Bukayo Saka hits Champions League milestone

Good night!

23:27 , Jonathan Gorrie

Thanks for joining Standard Sport’s LIVE coverage of Arsenal’s win over Monaco!

Find our report, ratings, reaction and analysis below!

Mikel Arteta 'not surprised' as Bukayo Saka hits Champions League milestone

23:26 , Jonathan Gorrie

Mikel Arteta is not surprised that Bukayo Saka has taken the Champions League by storm.

Saka scored twice and setup Arsenal’s other goal as they beat Monaco 3-0 on Wednesday night. The winger has now netted eight goals and laid on six assists in his first 14 games in the competition.

“I’m not surprised, but it’s very difficult to do what he’s doing,” said Arteta after the game. “That’s the quality that he has, that’s the ambition that he has and how he’s preparing himself every day.

Read the full story here!

(AFP via Getty Images)

Free-flowing Arsenal back to their best in statement Champions League win to bust set-piece myth

22:34 , Jonathan Gorrie

At least Mikel Arteta should not have to answer anymore questions about Arsenal failing to create chances from open play.

After a week where Arsenal’s dead-ball prowess has led to them being compared to Stoke City and their set-piece coach, Nicolas Jover, having a mural made in his honour, this was the Gunners at close to their flowing best.

Read the full story here!

(Arsenal FC via Getty Images)

Arsenal player ratings vs Monaco: Trademark Gabriel Jesus as Myles Lewis-Skelly and Bukayo Saka impress

22:30 , Jonathan Gorrie

Bukayo Saka’s double ensured Arsenal remained well on track for a top-eight Champions League finish after a 3-0 victory over Monaco.

Saka opened the scoring midway through the first-half of a game that would have been over by the break had the home side not wasted several fine chances.

Monaco rallied after the interval and a nervy finish appeared in store until some poor defensive play gifted Saka a second and Arsenal some breathing space, before substitute Kai Havertz flicked home late on.

The win leaves Arsenal third on 13 points in the Champions League table with games against Dinamo Zagreb and Girona to come.

Here’s how Mikel Arteta’s side rated at the Emirates...

(Getty Images)

Bukayo Saka delivers to put Gunners on the brink of Champions League qualification

22:29 , Jonathan Gorrie

Arsenal have taken a giant step towards securing a place in the Champions League last-16 after recording a 3-0 win over Monaco.

Bukayo Saka was the Gunners’ hero as he netted a brace before turning provider for Kai Havertz in the closing stages as the German’s deflected effort added gloss to the scoreline.

Read the full story here!

(Getty Images)

FT: Arsenal 3-0 Monaco

22:28 , Jonathan Gorrie

A big win for Arsenal, albeit the scoreline may flatter.

GOAL! Arsenal 3-0 Monaco | Kai Havertz '88

21:48 , Tashan Deniran-Alleyne

88 min: GOAL FOR ARSENAL

Kai Havertz gets in on the act as he turns home Bukayo Saka’s pass.

Arsenal 2-0 Monaco

21:46 , Tashan Deniran-Alleyne

87 min: Ethan Nwaneri finds space and is urged by the home supporters to shoot. He duly obliges but his effort is straight at the goalkeeper.

Arsenal 2-0 Monaco

21:45 , Tashan Deniran-Alleyne

86 min: Leandro Trossard plays a short corner but it leads to nothing as Monaco eventually come away with the ball.

Arsenal 2-0 Monaco

21:41 , Tashan Deniran-Alleyne

81 min: Triple change for Monaco as Matazo, Ilenhikhena and Teze are all on now.

Meanwhile, Ethan Nwaneri has replaced Martin Odegaard for Arsenal.

GOAL! Arsenal 2-0 Monaco | Bukayo Saka '78

21:39 , Tashan Deniran-Alleyne

78 min: GOAL FOR ARSENAL

Bukayo Saka doubles Arsenal’s lead as he takes full advantage of a mix-up in Monaco’s defence to finish with aplomb.

Arsenal 1-0 Monaco

21:36 , Tashan Deniran-Alleyne

Standard Sport's Simon Collings at the Emirates Stadium

Given eight teams are tied on 13 points in second place, Arsenal may come to rue missing these chances. Goal difference might be important.

Arsenal 1-0 Monaco

21:34 , Tashan Deniran-Alleyne

74 min: Leandro Trossard slices an effort wide moments after his intended pass to Martin Odegaard was cut out. Arsenal had a 2v1 situation there but couldn’t make the advantage count.

Arsenal 1-0 Monaco

21:32 , Tashan Deniran-Alleyne

72 min: Gabriel Jesus is replaced by Kai Havertz.

The Brazilian claimed the assist for Bukayo Saka but it’s another game without a goal.

Arsenal 1-0 Monaco

21:31 , Tashan Deniran-Alleyne

70 min: Arsenal look to spring an attack but Leandro Trossard overhits a pass to Martin Odegaard which cues some groans from the home supporters.

Arsenal 1-0 Monaco

21:28 , Tashan Deniran-Alleyne

Standard Sport's Malik Ouzia at the Emirates Stadium

There’s a Monaco goal coming…

Arsenal 1-0 Monaco

21:26 , Tashan Deniran-Alleyne

66 min: Radosław Majecki makes another save as he claws away Martin Odegaard’s shot. The flag was up for offside though.

Arsenal 1-0 Monaco

21:24 , Tashan Deniran-Alleyne

64 min: Huge let-off for Arsenal as William Saliba’s pass is cut out and the ball rolls for Breel Embolo who lets it roll across him before shooting just wide.

Arsenal 1-0 Monaco

21:23 , Tashan Deniran-Alleyne

63 min: Wanderson is booked just as there is a triple change for Arsenal.

ON: Timber, Jorginho, Trossard

OFF: Lewis-Skelly, Rice, Martinelli

Arsenal 1-0 Monaco

21:22 , Tashan Deniran-Alleyne

Standard Sport's Malik Ouzia at the Emirates Stadium

Jorginho, Jurrien Timber and Leandro Trossard all coming on. Another consequence of missing all those chances because I’m sure Mikel Arteta would have liked to give Timber, in particular, the night off

Arsenal 1-0 Monaco

21:19 , Tashan Deniran-Alleyne

59 min: And this delivery from Declan Rice isn’t great either.

Mikel Merino is then shown a yellow card.

Arsenal 1-0 Monaco

21:17 , Tashan Deniran-Alleyne

57 min: Gabriel Martinelli races through down the left but his cross is turned away for Arsenal’s first corner of the night.

Declan Rice to take as Nicolas Jover looks on.

Arsenal 1-0 Monaco

21:15 , Tashan Deniran-Alleyne

56 min: First corner of the game goes to Monaco but the delivery is average as David Raya collects the ball with relative ease.

Arsenal 1-0 Monaco

21:13 , Tashan Deniran-Alleyne

Standard Sport's Malik Ouzia at the Emirates Stadium

Arsenal should really have put this game to bed before half-time but failed to do so and now Monaco are coming on strong. They’ve been the better side in this first eight minutes.

Arsenal 1-0 Monaco

21:10 , Tashan Deniran-Alleyne

50 min: Minamino can’t resist hitting the ball on the volley after it had set up nicely for him. Fortunately for Arsenal, his effort is well off target.

Arsenal 1-0 Monaco

21:06 , Tashan Deniran-Alleyne

48 min: Monaco are just as good at set-pieces it seems! Kehrer gets in front of Kiwior from the free-kick but plants his header wide of the post.

Arsenal 1-0 Monaco

21:05 , Tashan Deniran-Alleyne

47 min: Arsenal straight on the attack but Gabriel Jesus can’t slip in Gabriel Martinelli to his left.

Monaco then win a free-kick after Kiwior trips Akliouche.

Arsenal 1-0 Monaco

21:04 , Tashan Deniran-Alleyne

46 min: Back underway at the Emirates Stadium.

Gabriel Martinelli is still on but Monaco have made a change with Minamino - once of Liverpool - replacing Magassa.

Arsenal 1-0 Monaco

20:49 , Tashan Deniran-Alleyne

HALF-TIME: Arsenal 1-0 Monaco

Arsenal 1-0 Monaco

20:47 , Tashan Deniran-Alleyne

Standard Sport's Malik Ouzia at the Emirates Stadium

I’ll tell you for free that if this is a Premier League game, Arsenal are down to ten men. A really silly challenge from Martinelli.

And then another a few moments later.

Arsenal 1-0 Monaco

20:46 , Tashan Deniran-Alleyne

44 min: Gabriel Martinelli has to be careful, on a yellow card and he trips Camara. A tad bit fortunate to still be on the pitch.

Arsenal 1-0 Monaco

20:43 , Tashan Deniran-Alleyne

41 min: What a pass from Martin Odegaard to Gabriel Martinelli but the Brazilian produces a poor finish. The flag did go up for offside, but replays showed he may have been on.

Arsenal 1-0 Monaco

20:42 , Tashan Deniran-Alleyne

40 min: A third Champions League goal of the season for Bukayo Saka.

(Getty Images)

Arsenal 1-0 Monaco

20:41 , Tashan Deniran-Alleyne

38 min: Difficult chance for Gabriel Martinelli as the ball is fizzed in at him. He does well to get contact but the effort was never troubling Majecki.

Seconds later Martin Odegaard is presented with a golden chance to make it 2-0 but he drags his shot wide of the post.

Arsenal 1-0 Monaco

20:37 , Tashan Deniran-Alleyne

Standard Sport's Simon Collings at the Emirates Stadium

And that, feels like Jesus in a nutshell. Misses two great chances, then setups Saka with a brilliant cross.

GOAL! Arsenal 1-0 Monaco | Bukayo Saka '34

20:37 , Tashan Deniran-Alleyne

34 min: GOAL FOR ARSENAL!

Bukayo Saka taps home at the back post to finish off a fine flowing move involving Myles Lewis-Skelly and Gabriel Jesus.

Arsenal 0-0 Monaco

20:33 , Tashan Deniran-Alleyne

Standard Sport's Malik Ouzia at the Emirates Stadium

The aforementioned fellow in front of the press box has now firmly strayed from ‘quite funny’ into ‘doing my head in’ territory.

Arsenal 0-0 Monaco

20:33 , Tashan Deniran-Alleyne

31 min: Gabriel Martinelli is booked for a foul on Golovin.

Arsenal 0-0 Monaco

20:30 , Tashan Deniran-Alleyne

Standard Sport's Malik Ouzia at the Emirates Stadium

That long ball in behind is on for Arsenal. Monaco’s backline were standing a couple of yards inside the Arsenal half a minute ago, leaving Saka onside with a headstart on the run and screaming for the ball but Raya didn’t spot him.

Kiwior does see Jesus soon after and it should be 1-0

Arsenal 0-0 Monaco

20:29 , Tashan Deniran-Alleyne

27 min: Gabriel Jesus is denied by Radosław Majecki for the second time in as many minutes. The Monaco keeper gets a big hand on the ball to keep the effort out, though it did take a slight deflection.

Arsenal 0-0 Monaco

20:28 , Tashan Deniran-Alleyne

Standard Sport's Simon Collings at the Emirates Stadium

There is someone in the row in front of the press box who it seems has been into the Christmas Bailey's early doors. Doing his best to lift the mood by belting out songs on his own. Not getting much pick-up yet, surprisingly.

Arsenal 0-0 Monaco

20:27 , Tashan Deniran-Alleyne

25 min: Arsenal almost break the deadlock as a long ball over the top picks out the run of Gabriel Jesus whose effort is brilliantly kept out by Radosław Majecki who sticks out a leg.

Arsenal 0-0 Monaco

20:25 , Tashan Deniran-Alleyne

23 min: Intricate stuff from Arsenal involving Myles Lewis-Skelly, Bukayo Saka and Gabriel Jesus but the attack comes to an end as Martin Odegaard fires wide once again.

Arsenal 0-0 Monaco

20:22 , Tashan Deniran-Alleyne

Standard Sport's Malik Ouzia at the Emirates Stadium

Monaco’s left side have started well against Arsenal’s dangerous right but for the first time there one too many men got dragged out to Saka and left Odegaard with space inside.

Arsenal 0-0 Monaco

20:21 , Tashan Deniran-Alleyne

19 min: First sign of Bukayo Saka and Martin Odegaard combining as the latter finds himself in space and takes a shot which curls away from the goal.

Arsenal 0-0 Monaco

20:19 , Tashan Deniran-Alleyne

17 min: Another watching brief for Arsenal defender Gabriel Magalhaes.

Since being replaced at half-time in the win over West Ham United, he’s missed games against Manchester United, Fulham and now Monaco.

(Arsenal FC via Getty Images)

Arsenal 0-0 Monaco

20:15 , Tashan Deniran-Alleyne

13 min: Monaco striker Breel Embolo is back on his feet and moving freely after going down earlier.

Arsenal 0-0 Monaco

20:10 , Tashan Deniran-Alleyne

9 min: Aleksandr Golovin curls an effort just wide of the post after Arsenal fail to clear their lines. Certainly a warning for Mikel Arteta’s side.

Arsenal 0-0 Monaco

20:09 , Tashan Deniran-Alleyne

Standard Sport's Malik Ouzia at the Emirates Stadium

Noticeable how relatively wide Mikel Merino is playing in that midfield three, holding his position where Odegaard is more inclined to drift inside from the right pocket.

Arsenal 0-0 Monaco

20:08 , Tashan Deniran-Alleyne

Standard Sport's Simon Collings at the Emirates Stadium

Early days but already a few promising attacks down Arsenal's left flank, which has not been the case for months. Merino being a natural left footer could unlock Martinelli.

Arsenal 0-0 Monaco

20:07 , Tashan Deniran-Alleyne

6 min: Arsenal work the ball well down the left-hand side, Gabriel Martinelli plays a reverse pass to Mikel Merino who tries to pick out a teammate in the middle but his cross is beyond everyone.

Arsenal 0-0 Monaco

20:06 , Tashan Deniran-Alleyne

4 min: First chance for Arsenal but Gabriel Jesus sends a tame effort into the arms of the Monaco goalkeeper Majecki.

The game is then paused as Maghnes Akliouche suffered a blow to the head.

Arsenal 0-0 Monaco

20:04 , Tashan Deniran-Alleyne

2 min: Thomas Partey is penalised for a foul on Aleksandr Golovin. Monaco have started well, they’ve had more of the ball but yet to test David Raya.

KICK-OFF!

20:01 , Tashan Deniran-Alleyne

We are underway in this Champions League clash.

Standard Sport's Malik Ouzia at the Emirates Stadium

20:00 , Tashan Deniran-Alleyne

A little smile and an exchange between former West Ham teammates Declan Rice and Thilo Kehrer there. Remarkable how things go, isn’t it?

The German left the Hammers in January because he couldn’t get minutes even ahead of the likes of Angelo Ogbonna. Now he’s back in London as a Champions League captain.

Standard Sport's Simon Collings at the Emirates Stadium

19:59 , Tashan Deniran-Alleyne

Big show of faith in Lewis-Skelly by Arteta, but it is also says a great deal about Kieran Tierney's standing. An 18-year-old keeping him out of the side.

Here we go!

19:56 , Tashan Deniran-Alleyne

Players have emerged from the tunnel and out onto the pitch.

The Champions League anthem will blast through the speakers, followed by the player handshakes, team photo and then kick-off.

Champions League results

19:49 , Tashan Deniran-Alleyne

Atletico Madrid 3-1 Slovan Bratislava

Lille 3-2 Sturm Graz

Not long now!

19:46 , Tashan Deniran-Alleyne

Less than 15 minutes to go until kick-off at the Emirates Stadium.

Arsenal aiming to get back on the winning trail after Sunday’s draw away at Fulham.

Big chance for Jesus

19:36 , Tashan Deniran-Alleyne

Gabriel Jesus leads the line for Arsenal tonight and it’s a huge opportunity for the Brazilian to rediscover his best form.

Linked with a move away from the club ahead of the January transfer window, Jesus has tended to perform well on Champions League nights, will he do so again against Monaco?

(Arsenal FC via Getty Images)

Monaco danger

19:31 , Tashan Deniran-Alleyne

Maghnes Akliouche is the latest youngster to emerge at Monaco and he’s one to watch tonight.

Likely to operate from the right, the 22-year-old has already netted twice in the Champions League this season.

(AFP via Getty Images)

Monaco XI

19:22 , Tashan Deniran-Alleyne

Monaco XI: Majecki, Vanderson, Salisu, Kehrer, Henrique, Camara, Magassa, Akliouche, Ben Seghir, Golovin, Embolo

Subs: Kohn, Lienard, Teze, Ouattara, Nibombe, Mawissa, Matazo, Michal, Minamino, Ilenhikhena, Tincres.

Arteta on Lewis-Skelly

19:15 , Tashan Deniran-Alleyne

Mikel Arteta has explained the thought process behind handing Myles Lewis-Skelly a full Champions League debut.

“Well, obviously the circumstances to be fair and the kid has done really well for us and he deserves a chance. We are all buzzing to see one of our own in a big match like this.”

Arsenal's issue

19:10 , Tashan Deniran-Alleyne

TNT Sport pundit Karen Carney has delivered her thoughts on Arsenal’s right-hand side issues.

“If you lock that right side up, Arsenal have to find a different solution when Saka is out of the game and Odegaard is not in it,” she said.

Arsenal arrive

19:05 , Tashan Deniran-Alleyne

Here’s footage of the Arsenal squad arriving at the Emirates Stadium for tonight’s big game.

Four changes for Arsenal

19:00 , Tashan Deniran-Alleyne

In total, Mikel Arteta has made four changes to the side that started the 1-1 draw against Fulham.

Mikel Merino, Gabriel Martinelli and Gabriel Jesus start in place of Jorginho, Kai Havertz and Leandro Trossard.

Though the big news is Myles Lewis-Skelly makes his full Champions League debut.

Arsenal lineup

18:46 , Tashan Deniran-Alleyne

Arsenal XI: Raya, Partey, Saliba, Kiwior, Lewis-Skelly; Rice, Merino, Odegaard; Saka, Martinelli, Jesus.

Subs: Neto, Setford, Timber, Tierney, Robinson, Heaven, Monlouis, Jorginho, Nwaneri, Trossard, Sterling, Havertz.

Team news imminent

18:40 , Tashan Deniran-Alleyne

We are expecting the team news to be announced shortly.

Stay tuned...

Champions League latest

18:36 , Tashan Deniran-Alleyne

It’s half-time in the day’s early kick-offs and Atletico Madrid lead against Slovan Bratislava, whilst Lille are 2-1 up at home to Sturm Graz.

The latter game is of importance to Arsenal as the French side will leapfrog the Gunners in the table - albeit perhaps for a couple of hours - if the result stays as it is.

Last time in Europe

18:32 , Tashan Deniran-Alleyne

Arsenal produced a five-star performance in their last outing in the Champions League.

The calm before the storm

18:25 , Tashan Deniran-Alleyne

The calm before the storm at the Emirates Stadium as Arsenal aim to take a giant step towards booking a place in the last 16 of this season’s Champions League.

(Arsenal FC via Getty Images)

The Arsenal dressing room

18:20 , Tashan Deniran-Alleyne

A sneak peak inside the Arsenal dressing room ahead of kick-off at the Emirates Stadium.

(Arsenal FC via Getty Images)

Monaco stat

18:15 , Tashan Deniran-Alleyne

Monaco don’t travel well in this competition having won just one of their last nine Champions League away matches.

Although the victory in question did come in their last match against Bologna.

Predicted Arsenal XI

18:11 , Tashan Deniran-Alleyne

With doubts over five defensive players ahead of the game against Monaco, Mikel Arteta is presented with a team selection dilemma.

Whilst Jakub Kiwior can continue to partner William Saliba in the heart of defence, picking the full-backs will prove a much harder task for the Arsenal manager.

As a result, Kieran Tierney could make his first appearance for the Gunners since August 2023 or Myles Lewis-Skelly could be handed a full Champions League debut.

Click here for how we think Arsenal will line-up tonight.

The last meeting...

18:05 , Tashan Deniran-Alleyne

This is the first competitive meeting between the two clubs in almost a decade.

In fact, on Monaco’s last trip to the Emirates Stadium in the Champions League they shocked many by claiming a 3-1 victory with a certain Dimitar Berbatov getting on the scoresheet.

(AFP via Getty Images)

Monaco boss on Arsenal's threat

18:00 , Tashan Deniran-Alleyne

It’s no secret that Arsenal are a massive threat from set-pieces, just as Manchester United!

So, Monaco boss Adi Hutter admits his side have been well-drilled on how to cope with the Gunners’ routines.

“Our preparation for this match was necessarily more advanced than for a classic Ligue 1 match, that’s for sure, because Arsenal are a top team!,” he told reporters.

“They are very strong on set pieces, it’s a real weapon for them, that’s obvious. They train a lot for that, but we have an idea of ​​how we should defend in these phases.

“And then we can also be a threat to them in this area, because that’s also something that’s an area of strength for us."

Mikel Arteta expecting a tough test against a "special team"

17:55 , Tashan Deniran-Alleyne

Despite making relative light work of Paris Saint-Germain on matchday two, Mikel Arteta is not taking fellow Ligue 1 side Monaco for granted.

In fact, given the connection between the two clubs, the Spaniard is looking forward to the encounter.

"They're a really good side, you see the run they’ve been on in the Champions League and in the league, especially against top opposition, so a real threat,” he told reporters. “A team that is superbly well organised, really intense, really good in transition moments as well with a lot of quality, so it’s going to be a very good test for us tomorrow.

"We have a really good link as well with Arsene, Thierry as well. There’s a big history there. It’s a very special club, a special place, so we welcome them here and will hopefully be better than them to try to win the game."

(Getty Images)

Score prediction

17:50 , Tashan Deniran-Alleyne

This has the feel of a home win, but one that might not be too generous on drama and perhaps harder to come by than most home fans expect, not too dissimilar to their last European victory at the Emirates over Shakhtar Donetsk.

Arsenal to win, 1-0.

Monaco team news

17:45 , Tashan Deniran-Alleyne

Folarin Balogun misses out on a reunion with his former club due to injury, Wilfried Singo and Christian Mawissa are both suspended, while captain Denis Zakaria suffered a hamstring injury in the warm-up before Saturday’s game against Toulouse.

Arsenal team news

17:40 , Tashan Deniran-Alleyne

The Gunners will definitely be without Ben White and Takehiro Tomiyasu due to knee injuries.

Furthermore, Gabriel Magalhaes, Jurrien Timber, Oleksandr Zinchenko, Riccardo Calafiori and Thomas Partey all missed yesterday’s training session, thus making them doubtful.

How to watch Arsenal vs Monaco

17:35 , Tashan Deniran-Alleyne

TV channel: Tonight’s match will be televised live in the UK on TNT Sports 1, with coverage beginning at 7pm GMT ahead of an 8pm kick-off.

Live stream: TNT Sports subscribers can also see the action live online via the Discovery+ app and website.

Welcome

16:23 , Jonathan Gorrie

Good evening and welcome to Standard Sport’s LIVE coverage of Arsenal’s Champions League clash with Monaco.

Kick-off from the Emirates Stadium is at 8pm GMT.

(Arsenal FC via Getty Images)
Sign up to read this article
Read news from 100’s of titles, curated specifically for you.
Already a member? Sign in here
Related Stories
Top stories on inkl right now
One subscription that gives you access to news from hundreds of sites
Already a member? Sign in here
Our Picks
Fourteen days free
Download the app
One app. One membership.
100+ trusted global sources.