Jackson Valley Campaign
The Confederate army was filled with hundreds of well trained generals and one of the greatest was "Stonewall" Jackson, who at the time of Johnston's failed offensive at Fair Oaks, was in command of his army in the Shenandoah Valley. His army rounded out to about 16,000, just one third of the strength of the armies that he was fighting. Jackson's main purpose in the Valley was to stall the Union troops there as long as possible in or to prevent the troops from ever reaching McClellan, and he did just that.
Jackson's first attack was at Kernstown where he attacked some 9,000 men under Major General Nathaniel Banks with only 3,000 men. The attackers were driven of with little trouble, but it did stall the Union troops and therefore delayed them from getting to McClellan. With Banks' victory, Lincoln felt that the destruction of Jackson's army would be a simple matter and he sent in McDowell's troops from the east. The decision by Lincoln proved to be a poor one though, for several reasons. In order for McDowell to catch Jackson he would have to make a much longer march than Jackson, over much poorer roads. Second, the movement of McDowell's troops delayed them from getting to McClellan, and that is just what Jackson wanted.
In hearing of the oncoming troops, Jackson fled south where he went to deal with a smaller Union division, headed by John C. Fremont. Jackson took his troops by rail down to Staunton on the Virginia Central Railroad, from which he marched westward to defeat Fremonts men on May 8. Then with the speed of a bullet headed back up north once more to defeat a small garrison at Front Royal on May 23. Next Jackson headed farther north to Winchester where he met Banks' full force which he promptly defeated on May 25. After he had Banks on the retreat, all the way back to the Potomac, Jackson headed back south again to Cross Keys in order to fight Fremont who was once again heading in from the west. On June 8 attacked Fremont at the Battle of Cross Keys and then turned and attacked Shields, a detachment from McDowell's army, at the Battle of Port Republic, one day later. In less than three months Jackson had won five out of six battles and had kept 60,000 troops on a chase around the Valley, but most importantly keeping them out of McClellan's hands.
Now that his assignment was done in the Shenandoah Valley Jackson needed to head back to help out Lee on the Peninsula. In a secret meeting in Richmond Jackson told Lee that he could have his troops in position the next day north of Richmond. Unfortunately, Jackson was not able to fulfill his statement the next day due to limited train cars, unexpected narrow roads, and burning of one of the railroad bridges. Although Jackson was not there on the day that he proposed, he was still there in time to help out Lee.