James Anderson joined an elite band of bowlers with 500 test wickets and Ben Stokes plundered a vital half century as England took command of a low-scoring third test against West Indies at Lord's.
By the end of a rain-affected second day West Indies were still in the hunt although their chances of victory were fading having lost three wickets in knocking off a 71-run first innings deficit following England's 194 all out.
At the close of a rain-affected second day that ended at 1830GMT with the floodlights blazing West Indies were 93-3, a lead of 22, with second test hero Shai Hope still there on 35.
Anderson, left stranded on 499 wickets on day one when Stokes stole the limelight with six wickets as West Indies sank to 123 all out, reached the milestone with a superb inswinger that uprooted opener Kraigg Brathwaite's middle stump.
The 35-year-old is the sixth bowler to reach 500 wickets, joining spin kings Muttiah Muralitharan, Shane Warne and Anil Kumble and pacemen Glenn McGrath and Courtney Walsh on the list.
Stuart Broad trapped Kyle Hope lbw for one as West Indies slumped to 21-2 and Anderson returned for a second spell late in the evening to end a dangerous stand of 48 between Kieran Powell and Shai Hope which raised West Indies' hopes.
Powell played calmly for his 45 but there was little he could do as Anderson got the fourth ball of his second spell to veer back off the seam and kiss the top of off stump.
Hope and Roston Chase (3) both survived England reviews for lbw before the close while Anderson was warned twice by the umpire for running on the pitch.
Anderson had earlier shared in a 31-run final-wicket stand with Broad as England, who resumed on 46-4 and were eight wickets down with only a meagre 11-run lead, gained a useful advantage with some furious late-order hitting.
Broad was particularly impressive, scoring 38 off 45 balls with four boundaries and two sixes before being the last man out, caught behind off the bowling of Jason Holder.
Stokes was dropped on 24 and went on to reach his 12th test half century in 51 balls with 10 boundaries -- sharing in a 56-run stand with Jonny Bairstow before the latter fell lbw to the impressive Roach who finished with five for 72.
Stokes was eventually out for 60, bowled by a Shannon Gabriel inswinger at the second time of asking, having been reprieved by a no-ball earlier in the over.
The series is locked at 1-1 after West Indies hit back from a first-test drubbing at Edgbaston to win a thrilling match at Headingley, their first test win in England for 17 years.