Manchester United played out their third successive stalemate with a 0-0 draw against Crystal Palace in the Premier League at a misty Selhurst Park on Wednesday evening.
The heavy mist was a blessing at times, as it meant we couldn't see the absolutely turgid football taking place on the Selhurst Park turf.
Nemanja Matic saw a deflected effort from range well saved by Vicente Guaita in the first half, but United otherwise rarely threatened. Dean Henderson denied Patrick van Aanholt late on to preserve a point for the Red Devils.
Let's take a breath, recover from all of that excitement, and get into some player ratings.
Crystal Palace player ratings
1. Goalkeeper & Defenders
Vicente Guaita (GK) - 6/10 - Made a terrific first half save to tip over a deflected Matic effort, but was otherwise untroubled.
Joel Ward (RB) - 6/10 - Popped up with a cracking clearance to keep out a Wan-Bissaka cross in the first half. Was the busiest of the Palace backline up against the lively Shaw.
Cheikhou Kouyate (CB) - 7/10 - United offered very little, but Kouyate hardly put a foot wrong.
Gary Cahill (CB) - 6/10 - Won a couple of headers and played out from the back neatly, but had little to do defensively.
Patrick van Aanholt (LB) - 6/10 - Didn't really have a great deal of defending to do as United rarely probed or threatened. Had Palace's best chance of the game, but was denied by Henderson.
Andros Townsend (RM) - 5/10 - Flashed a half volley just wide in the second half. Diligently tracked back in an attempt to control the lively Shaw.
Luka Milivojevic (CM) - 5/10 - Sent a good free kick opportunity straight into the United wall. Relatively comfortable as the United midfield failed to ask many questions of Palace. Played in van Aanholt for Palace's best chance of the match.
James McCarthy (CM) - 6/10 - An energetic, robust performance, before he was forced off with injury just after the hour mark.
Eberechi Eze (LM) - 6/10 - Looked Palace's liveliest player and enjoyed an interesting battle up against Wan-Bissaka. Replaced with seven minutes remaining.
Christian Benteke (ST) - 5/10 - Combined well with Ayew to tee his strike partner up for half a sight of goal in the second period. Failed to connect with an Ayew cross just after the hour mark.
Jordan Ayew (ST) - 5/10 - Sent a well-struck second half effort straight at Henderson, and picked out Benteke to create an opening from which the Belgian should have done better.
Jairo Riedewald - 5/10
Jeffrey Schlupp - 5/10
Manchester United player ratings
5. Goalkeeper & Defenders
Dean Henderson (GK) - 6/10 - Comfortably held onto a fizzing Ayew effort in the second half, and made an important save late on to deny van Aanholt.
Aaron Wan-Bissaka (RB) - 6/10 - Produced a terrific low cross in the first half which almost found its way to Cavani. Did well defensively up against Eze and Ayew.
Harry Maguire (CB) - 5/10 - Guilty of misplacing a couple of passes and mistiming a couple of headers
Eric Bailly (CB) - 5/10 - Loose in possession at times and occasionally gave Benteke a little too much space - a more potent strike force may have capitalised.
Luke Shaw (LB) - 7/10 - Injected a bit of life into United with a couple of bursts forward and looked the Red Devils' most dangerous player.
Fred (CM) - 5/10 - Sloppy in possession on occasions, didn't offer much going forward, replaced after 73 minutes.
Nemanja Matic (CM) - 5/10 - Drew a good save from Guaita in the first half with a drive from the edge of the box. Otherwise never really asked much of the Palace backline.
Bruno Fernandes (CAM) - 5/10 - Like much of the United team, guilty of sloppily conceding possession a number of times. Unable to exert his usual quality on the game.
Mason Greenwood (RW) - 5/10 - Sent a half chance just past the post in the first half. Moved into the middle for the final 15 minutes and flashed another half chance over the bar.
Edinson Cavani (ST) - 5/10 - Prodded a half chance narrowly over in the first half, but otherwise didn't look his usual sharp self. Replaced after 75 minutes.
Marcus Rashford (LW) - 5/10 - Flashed a half chance just wide in the first half, looked sluggish on the ball in the second.
Scott McTominay - 6/10
Dan James - 5/10