Joe Root is the complete Test batsman - Jonathan Agnew

Ben Stokes and Joe Root
Stokes and Root shared a stand of 111

Once again, this England-South Africa series treated us to an absolutely outstanding day on the second day of the third Test here in Johannesburg.

For me, Test cricket at its best is all about ebb and flow of initiative, and it's always a fascinating moment of the match for me when one sides snatches it from the other.

When England were 91-4 in reply to South Africa's 313 all out, they looked absolutely set up for the collapse.

This side, who have been prone to collapsing over the past year or so, were dealing with unfamiliar bounce in the pitch when Ben Stokes joined Joe Root. South Africa had the adrenaline pumping, the crowd behind them, and Stokes took a few nasty blows. A collapse looked inevitable.

More on the third Test...
TMS podcast - Boycott's review of the day
How Root and Stokes revived England

But those two batted brilliantly and seized the initiative back from South Africa. Admittedly they were helped by the inexperience of the South African attack, who had bowled well to that point. But with inexperience, when you put pressure on, that's when you start to find out the difference between first class and Test cricket.

If you look at where South Africa bowled to Nick Compton, the ball was consistently in just the right areas. But with Ben Stokes, they were all over the place. That's what he does to you as a bowler - you don't know where to bowl to him.

Media playback is not supported on this device

Joes Root reflects on superb century

He played some staggering shots. From 91-4, he and Root scored at 6.5 runs per over. Those present today witnessed a tremendous counter-attack from England, and it's not often that you've been able to say that in recent times.

It's a shame that Stokes got out, but Root just carried on batting brilliantly, despite being hampered with a leg injury, looking confident off both front and back foot. He is the complete Test batsman now. It says a lot that in his partnership of 36 with Jonny Bairstow, Bairstow's contribution is just four.

Ultimately it was a great shame for England that bad light stopped play. The home side, deprived of debutant fast bowler Hardus Viljoen who had gone off with cramp, were under the cosh. Their hope will be to regroup overnight - they still have a lead of 75 runs, and the new ball due just before lunch. England are by no means out of the woods yet.

Joe Root celebrates his century
Root scored his century off 126 deliveries

Hales place in doubt

Sadly, you could have predicted how Alex Hales would be dismissed before the first ball was bowled. When faced with good quality bowling on a bouncy pitch, Hales' technique is simply too fallible outside off stump.

He's been caught in the slips four out of five times so far this series, three times to AB de Villiers in the first innings of each Test.

Alex Hales
Hales was caught at second slip for a solitary run

Even before his Test debut, during the one-day series in the UAE, I remember saying on air that this was the challenge that he had to overcome.

It's possible to get away with it in 50-over cricket, when there are no slips, but he simply cannot keep planting his front foot on middle stump and playing with a bat two feet away from his body. His technical deficiency has been exposed as it was probably likely to be.

It will be no easy task for Hales to overcome. There's no cricket inbetween Tests for him to work on his technique, he can only do it in a Test match, which is very tough.

What he does possess is a good eye, and he hits the ball cleanly, but he will have to produce something pretty special in the three innings available to him before the end of the series to keep his position.

Excellent Test cricket pitch

This Wanderers pitch has been brilliant, mainly down to two key factors - the pace and the bounce. Sufficient pace means not only that the fast bowlers can get something out of it, but that the batsmen can also play their shots.

Because the ball comes onto the bat faster and with more bounce, the bowlers always feel that they have a chance, including the spinners. It's up to the batsmen to adjust in order to play the pull, hook, cut.

What you don't want to see is the ball grubbing through to the keeper on the second or third bounce. This Wanderers ground consistently provides an excellent pitch to play Test cricket on.

Viljoen's dream debut

Hardus Viljoen celebrates the wicket of Alastair Cook
Hardus Viljoen dismissed Alastair Cook with his first delivery in Test cricket

With new fast bowlers on the international circuit few and far between, it's always good to see someone new coming through. There's little that's subtle about Hardus Viljoen - he's a broad-chested, broad-shouldered fast bowler, who simply trundles up to the wicket and hurls it down as fast as possible.

With the new ball, and England under pressure, he looked very dangerous, but when England had regained the initiative with the ball 50 overs old and not doing anything, the gulf started to show between first class and Test cricket.

Andrew Samson stat on Hardus Viljoen

Jonathan Agnew was talking to BBC Sport's Tim Peach