When the San Francisco 49ers take the field to face the Carolina Panthers in their season opener on Sunday, they will do so with a young roster that serves as the most exciting team they have had in years.
The 49ers still have a number of holes on the team, the interior of the offensive line has looked shaky, the secondary is largely inexperienced and quarterback Brian Hoyer is little but a stopgap until San Francisco finds the true answer under center.
But the Niners are considerably stronger in a number of areas because of the approach John Lynch and Kyle Shanahan have taken towards team building.
At receiver San Francisco has pass-catchers in Pierre Garcon and Aldrick Robinson who should produce in a system they know, as well as a speedy downfield threat in Marquise Goodwin.
Meanwhile on defense the front seven is absolutely stacked and should provide the 49ers with a foundation to become dominant on that side of the ball again as long as the likes of DeForest Buckner, Arik Armstead, Solomon Thomas and Reuben Foster live up to their massive potential.
Potential abounds from top to bottom on this roster, the average age of which is 25.5 when you take out kicker Robbie Gould, according to Dylan DeSimone, which is a direct result of the decisions Lynch and Shanahan have made in picking youngsters over established veterans.
At every position on the offense, there is an example of a rookie being given the nod over an older player.
Third-round pick C.J. Beathard was named as the backup quarterback as Matt Barkley was cut. Undrafted free agent Matt Breida is the No. 2 at running back after Raheem Mostert's emergence saw Tim Hightower cut.
Fifth-round pick Trent Taylor should receive plenty of work in the slot after Jeremy Kerley was surprisingly released, with exciting return man Victor Bolden Jr and Kendrick Bourne both given a shot after shining in preseason.
George Kittle did not need long to demonstrate his athleticism and undoubted potential at tight end and heads into the season as the starter, Vance McDonald having been traded to the Pittsburgh Steelers.
Erik Magnuson beat out Tim Barnes for the backup center spot, sixth-round pick D.J. Jones enjoyed an outstanding preseason to earn a place on the defensive line, and the Niners cut Ahmad Brooks to hand the SAM linebacker spot to 23-year-old Eli Harold while also keeping sixth-round rookie Pita Taumoepenu despite him only recording one sack in the exhibition games.
The secondary was already the position group with the most inexperience and that has been added to by the Niners keeping undrafted free safety Lorenzo Jerome -- who is likely to start against the Panthers should Jimmie Ward be unable to go -- and versatile seventh-round pick Adrian Colbert on the roster.
Lynch and Shanahan's approach is a refreshing change to that of former general manager Trent Baalke, who still cut the likes of defensive lineman Garrison Smith and pass rusher Marcus Rush last year despite very impressive preseason as the likes of Tony Jerod-Eddie and Michael Wilhoite were kept on board with predictably poor results.
And, in retaining so many draft picks and UDFAs on the roster ahead of more established players, the Niners have achieved two things.
First they have ensured the roster has a large group of players on cheap rookie contracts who can develop together and hopefully provide the team with continuity for years to come.
Secondly they have provided fans with a reason to keep watching even if, as seems likely, the 49ers struggle again this season.
San Francisco should be a much more exciting team to watch under Shanahan but there is still a strong chance the Niners will end up with double-digit losses. In that scenario it is the development of the 49ers' rookies that should provide the intrigue.
The Niners were a painful team to watch in 2016. That should not be the case in 2017 with one of the best offensive minds in the game leading the team and enough exciting rookies on the roster to hold the fans' attention until the end of the year.