Ireland dug out a bonus-point win against Wales to keep their Triple Crown hopes alive.
Jacob Stockdale and Jack Crowley scored first-half tries, while Jack Conan and Jamie Osborne crossed in the second period, with the out-half landing two conversions and a penalty.
Here's how we rated the players.
15. Jamie Osborne - 7

The full-back took his try well, finishing strongly when Ireland badly needed a score. He wasn't as solid under the high ball as required and could have communicated better with his fellow defenders when Rhys Carre broke through for his try.
14. Robert Baloucoune - 7
Mixed some excellent attacking contributions with a worryingly poor effort to let Carre in before half-time. Was eager to get on the ball and looked lively in the early exchanges, making good metres after contact. A beautiful offload led to Ciarán Frawley's chance late on.
13. Garry Ringrose - 7
Made some good angled runs in midfield that occupied more than one Welsh defender. There was a handling error and he gave away a penalty after running away from his support that allowed Wales to build more pressure.
12. Stuart McCloskey - 7.5

Another good outing from the in-form Ulster man. Always available to take it up and usually required a couple of defenders to halt him. Had a big role in the opening try, including a peach of a pop pass for Jacob Stockdale. Threw a wild pass early on. Part of a trio that denied Wales a try as they held up Carre over the line. Carried 13 times and made 15 tackles.
11. Jacob Stockdale 7
A big improvement from his last outing in Paris and he was delighted to score the opening try. He moved around the backline and had the beating of his man early on. Had 10 carries to his name. Mixed day in the air but was involved in the build up to the fourth try and got a direct assist.
10. Jack Crowley - 7
A mixed bag from the out-half. He took his try well as Ireland played a penalty advantage. Scored a penalty and two conversions but missed two attempts that he should have got that could have come back to haunt the hosts.
9. Jamison Gibson-Park - 7

Did his best to raise the tempo on his 50th Ireland cap but didn't reach close to the levels he produced in Round 3 against England. Played his part in the four tries although there was a wild offload and a rushed pass that halted Ireland attacks.
1. Tom O'Toole - 7.5
Should be really pleased with his outing at loosehead, had the measure of Tomas Francis as he drew two penalties at the scrum. Helped out with eight carries and combined with Rónan Kelleher to turn over the ball in a tackle. A knock-on at the base of a ruck cost Jack Conan a try that would have settled nerves.
2. Rónan Kelleher - 7
Good day at the office for the hooker, who carried nine times and made good post-contact metres. He was Ireland's top tackler with 17 across his 64 minutes. Ireland won 10 of 10 from lineouts.
3. Tadhg Furlong - 7
Carried prominently in the first half, racking up 10 in total. There was a loose offload that almost let Wales in. Penalised for stepping out of the scrum at one point. Racked up seven tackles.
4. James Ryan - 7

Seemed more determined to get on the ball in the absence of Joe McCarthy and the stats unsurprisingly showed he made 14 carries, just one off top-carrier Jack Conan. Gave away two avoidable penalties.
5. Tadhg Beirne - 7
Deployed in the second row and got through plenty of work, 11 carries and 14 tackles, and three lineout takes. Got away with a risky pass near the end when Ireland were holding out but came up with the final turnover to see out the game.
6. Jack Conan - 7.5
Official player of the match and unlucky not to get a second try to his name. Came up with the score when Ireland needed to calm things at the start of the second half. Involved in the build-up to the bonus-point try and was top-carrier for the hosts with 15. Won a relieving penalty when Wales had the upper hand in the first half.
7. Nick Timoney - 6.5
The Ulster flanker had a lively start, nailing Dan Edwards with a big hit that sent the Wales attack back 30 yards. Had 11 carries and nine tackles before being called ashore after an hour.
8. Caelan Doris - 6.5

Took on a huge amount of ball when Wales slowed down the Irish rucks and ended up with 13 carries. Made 17 tackles, joint most on the Irish side. The number 8 gave away two needless penalties as well when they needed their captain to lead by example.
Replacements:
16. Tom Stewart (Kelleher 64)
17. Michael Milne (O'Toole 64)
18. Thomas Clarkson (Furlong 59)
19. Joe McCarthy (Ryan 59)
20. Josh van der Flier (Timoney 59)
21. Nathan Doak (Gibson-Park 24-32 (blood) and 75)
22. Tom Farrell (Ringrose 69)
23. Ciarán Frawley (Stockdale 69)
Joe McCarthy provided a big impact when introduced, stealing a lineout and kicking cleverly for territory. Van der Flier was his industrious self, while the Wales pack seemed to get the upper hand when the front row was changed.
Doak gave a solid account in just over ten minutes across two spells on his debut. Frawley almost worked a try with Baloucoune.