Prep Redzone
Step 1 of 4 · About you Step 2 of 4 · Your goals

Choose which best describes you

We will customize your experience based on your goals

Which tools do you want?

Select all that apply, or skip to see our Standard plan.

Prep Redzone Logo
Login Subscribe
    • Players/Parents
    • College Coaches
  • Choose Your State Middle School Coverage
    Alabama
    Arizona
    Arkansas
    California
    Canada
    Colorado
    Dakotas
    Florida
    Georgia
    Idaho
    Illinois
    Indiana
    Iowa
    Kansas
    Kentucky
    Louisiana
    Maryland
    Michigan
    Minnesota
    Mississippi
    Missouri
    Nebraska
    Nevada
    New England
    New Jersey
    New Mexico
    New York
    North Carolina
    Ohio
    Oklahoma
    Oregon
    Pennsylvania
    South Carolina
    Tennessee
    Texas
    Utah
    Virginia
    Washington
    West Virginia
    Wisconsin
  • Loading...
  • Loading...
  • Tournaments
    • 7 on 7 7 on 7
    Showcases
    • High School High School
    • Middle School Middle School
    Contact Our Team
    • Find Your Sales Representative
    About Our Events
  • Prep Redzone for
    • Players
    • Parents
    • Club Coaches
    • High School Coaches
    • College Coaches
    • Fans
    View All Features About Prep Redzone+
    • Coverage Access Prep Redzone articles year-round.
    • Rankings See how players stack up in each state.
    • Player Profiles Build your own profile and join the Prep Redzone database.
    • Profile Trends Track your Player Profile views over time.
    • Recruiting Tasks Stay on track in the recruiting process.
    • Recruiting Dashboard All your recruiting tools in a single place.
    • Scores See high school football scores across the country.
    • Coach Views Get notified when a college coach views your profile.
    • College Match Recommends colleges that match with your profile.
    • Coach Contacts Contact any program in the country.
    • Event Credits Save $25 on all Prep Redzone combines.
    • Recruiting Tips Become an expert on the recruiting process.
    • College Email Templates Send customized emails directly to college coaches.
    • Scouts
    • How We Rank
    • Recruiting Resources
    • Power Scores
    • About Us
  • North Carolina
  • Rankings
    • 2027 Rankings

    • 2028 Rankings

    • 2029 Rankings

    • 2030 Rankings

    • Archived Rankings

    • How We Rank

  • Prospects
    • Prospect Database

  • High Schools
    • Scores

    • Team Rankings

  • Scouts
  • Events
Prep Redzone Logo
  • Create a Profile
      • Players/Parents
      • College Coaches
  • Home
  • Coverage
      Choose Your State Middle School Coverage
      Alabama
      Arizona
      Arkansas
      California
      Canada
      Colorado
      Dakotas
      Florida
      Georgia
      Idaho
      Illinois
      Indiana
      Iowa
      Kansas
      Kentucky
      Louisiana
      Maryland
      Michigan
      Minnesota
      Mississippi
      Missouri
      Nebraska
      Nevada
      New England
      New Jersey
      New Mexico
      New York
      North Carolina
      Ohio
      Oklahoma
      Oregon
      Pennsylvania
      South Carolina
      Tennessee
      Texas
      Utah
      Virginia
      Washington
      West Virginia
      Wisconsin
  • Events
      Tournaments
      • 7 on 7 7 on 7
      Showcases
      • High School High School
      • Middle School Middle School
      Contact Our Team
      • Find Your Sales Representative
      About Our Events
  • Rankings
      Loading...
  • Scores
      Loading...
  • Features
      Prep Redzone for
      • Players
      • Parents
      • Club Coaches
      • High School Coaches
      • College Coaches
      • Fans
      View All Features About Prep Redzone+
      • Coverage Access Prep Redzone articles year-round.
      • Rankings See how players stack up in each state.
      • Player Profiles Build your own profile and join the Prep Redzone database.
      • Profile Trends Track your Player Profile views over time.
      • Recruiting Tasks Stay on track in the recruiting process.
      • Recruiting Dashboard All your recruiting tools in a single place.
      • Scores See high school football scores across the country.
      • Coach Views Get notified when a college coach views your profile.
      • College Match Recommends colleges that match with your profile.
      • Coach Contacts Contact any program in the country.
      • Event Credits Save $25 on all Prep Redzone combines.
      • Recruiting Tips Become an expert on the recruiting process.
      • College Email Templates Send customized emails directly to college coaches.
  • About Us
      • Scouts
      • How We Rank
      • Recruiting Resources
      • Power Scores
      • About Us
  • Support
Login Subscribe

Optional description or notes about the game to be displayed on the schedule

    • Cardinal Gibbons
      • Dudley
      ← All North Carolina Scores

      Cardinal Gibbons vs Dudley – August 22, 2026

      Cardinal Gibbons
      Cardinal Gibbons
      1-0
      45
      Final
      Aug 22
      6
      Dudley
      0-1
      Dudley
      Cardinal Gibbons Dudley
      ​
      Game Share Image

      Matchup

      Pts Scored Per Game

      Cardinal Gibbons
      45
      Dudley
      6

      Pts Against Per Game

      Cardinal Gibbons
      6
      Dudley
      45

      Stats

      Offense

      Player Position PYDS PTD PATT CMP CP% INT RYDS RATT RTD YPC REYDS REC RETD YPR
      Devin Cockerham
      Devin Cockerham #34
      TE/EDGE Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Griffin Cockerham
      Griffin Cockerham
      EDGE/TE Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Truth Caesar
      Truth Caesar #1
      RB/ATH Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Jeremy Douglass
      Jeremy Douglass
      RB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Mason Karras
      Mason Karras
      QB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Malek Griffin
      Malek Griffin #75
      OL Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Blake Neal
      Blake Neal #78
      OL/DL Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Xavier Hasan
      Xavier Hasan
      DB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Luke Laurino
      Luke Laurino #41
      DB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Kieran Frieary
      Kieran Frieary
      DL Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Tucker Toland
      Tucker Toland
      K Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Skylar Alston
      Skylar Alston #11
      LB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Anthony Sales
      Anthony Sales
      LS Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      No players have statistics entered for this category.

      Defense

      Player Position TOT SOLO AST TFL SACK INT FF FR DTD PBU
      Xavier Hasan
      Xavier Hasan
      DB Stat will be calculated on save
      Luke Laurino
      Luke Laurino #41
      DB Stat will be calculated on save
      Truth Caesar
      Truth Caesar #1
      RB/ATH Stat will be calculated on save
      Kieran Frieary
      Kieran Frieary
      DL Stat will be calculated on save
      Blake Neal
      Blake Neal #78
      OL/DL Stat will be calculated on save
      Devin Cockerham
      Devin Cockerham #34
      TE/EDGE Stat will be calculated on save
      Griffin Cockerham
      Griffin Cockerham
      EDGE/TE Stat will be calculated on save
      Skylar Alston
      Skylar Alston #11
      LB Stat will be calculated on save
      Tucker Toland
      Tucker Toland
      K Stat will be calculated on save
      Anthony Sales
      Anthony Sales
      LS Stat will be calculated on save
      Malek Griffin
      Malek Griffin #75
      OL Stat will be calculated on save
      Mason Karras
      Mason Karras
      QB Stat will be calculated on save
      Jeremy Douglass
      Jeremy Douglass
      RB Stat will be calculated on save
      No players have statistics entered for this category.

      Special Teams

      Player Position P PY YPP FGM FGA FG% XPM XPA XP%
      Tucker Toland
      Tucker Toland
      K Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Xavier Hasan
      Xavier Hasan
      DB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Luke Laurino
      Luke Laurino #41
      DB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Kieran Frieary
      Kieran Frieary
      DL Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Griffin Cockerham
      Griffin Cockerham
      EDGE/TE Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Skylar Alston
      Skylar Alston #11
      LB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Anthony Sales
      Anthony Sales
      LS Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Malek Griffin
      Malek Griffin #75
      OL Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Blake Neal
      Blake Neal #78
      OL/DL Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Mason Karras
      Mason Karras
      QB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Jeremy Douglass
      Jeremy Douglass
      RB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Truth Caesar
      Truth Caesar #1
      RB/ATH Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Devin Cockerham
      Devin Cockerham #34
      TE/EDGE Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      No players have statistics entered for this category.

      Offense

      Player Position PYDS PTD PATT CMP CP% INT RYDS RATT RTD YPC REYDS REC RETD YPR
      Kassius Alston
      Kassius Alston #7
      WR/ATH Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Vermont Carmack
      Vermont Carmack
      WR/ATH Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Elijah Caldwell
      Elijah Caldwell
      TE/EDGE Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Michael Boone
      Michael Boone
      RB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Ramonta Galloway Jr
      Ramonta Galloway Jr
      RB/ATH Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Khalil Lambert
      Khalil Lambert #22
      RB/WR Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Ferrell Price
      Ferrell Price #8
      QB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Zamari Williamson
      Zamari Williamson
      QB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Kameron Abrams
      Kameron Abrams
      OL Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Zayden Carter
      Zayden Carter #58
      DL/OL Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Michael Jones
      Michael Jones #55
      OL Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Azhir Waddell
      Azhir Waddell
      OL/DL Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Levi Bowser
      Levi Bowser
      ATH Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Christian Ford
      Christian Ford
      ATH Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Saimair Horton
      Saimair Horton
      ATH Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Zion Ingram
      Zion Ingram #13
      ATH Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Jalen Jones
      Jalen Jones
      DB/LB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      NaShon Overby
      NaShon Overby
      DL Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Devin Cotton
      Devin Cotton
      EDGE Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      David Johnson
      David Johnson
      LB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      No players have statistics entered for this category.

      Defense

      Player Position TOT SOLO AST TFL SACK INT FF FR DTD PBU
      Jalen Jones
      Jalen Jones
      DB/LB Stat will be calculated on save
      Kassius Alston
      Kassius Alston #7
      WR/ATH Stat will be calculated on save
      Levi Bowser
      Levi Bowser
      ATH Stat will be calculated on save
      Vermont Carmack
      Vermont Carmack
      WR/ATH Stat will be calculated on save
      Christian Ford
      Christian Ford
      ATH Stat will be calculated on save
      Saimair Horton
      Saimair Horton
      ATH Stat will be calculated on save
      Zion Ingram
      Zion Ingram #13
      ATH Stat will be calculated on save
      Ramonta Galloway Jr
      Ramonta Galloway Jr
      RB/ATH Stat will be calculated on save
      Zayden Carter
      Zayden Carter #58
      DL/OL Stat will be calculated on save
      NaShon Overby
      NaShon Overby
      DL Stat will be calculated on save
      Azhir Waddell
      Azhir Waddell
      OL/DL Stat will be calculated on save
      Elijah Caldwell
      Elijah Caldwell
      TE/EDGE Stat will be calculated on save
      Devin Cotton
      Devin Cotton
      EDGE Stat will be calculated on save
      David Johnson
      David Johnson
      LB Stat will be calculated on save
      Kameron Abrams
      Kameron Abrams
      OL Stat will be calculated on save
      Michael Jones
      Michael Jones #55
      OL Stat will be calculated on save
      Ferrell Price
      Ferrell Price #8
      QB Stat will be calculated on save
      Zamari Williamson
      Zamari Williamson
      QB Stat will be calculated on save
      Michael Boone
      Michael Boone
      RB Stat will be calculated on save
      Khalil Lambert
      Khalil Lambert #22
      RB/WR Stat will be calculated on save
      No players have statistics entered for this category.

      Special Teams

      Player Position P PY YPP FGM FGA FG% XPM XPA XP%
      Levi Bowser
      Levi Bowser
      ATH Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Christian Ford
      Christian Ford
      ATH Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Saimair Horton
      Saimair Horton
      ATH Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Zion Ingram
      Zion Ingram #13
      ATH Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Jalen Jones
      Jalen Jones
      DB/LB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      NaShon Overby
      NaShon Overby
      DL Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Zayden Carter
      Zayden Carter #58
      DL/OL Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Devin Cotton
      Devin Cotton
      EDGE Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      David Johnson
      David Johnson
      LB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Kameron Abrams
      Kameron Abrams
      OL Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Michael Jones
      Michael Jones #55
      OL Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Azhir Waddell
      Azhir Waddell
      OL/DL Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Ferrell Price
      Ferrell Price #8
      QB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Zamari Williamson
      Zamari Williamson
      QB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Michael Boone
      Michael Boone
      RB Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Ramonta Galloway Jr
      Ramonta Galloway Jr
      RB/ATH Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Khalil Lambert
      Khalil Lambert #22
      RB/WR Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Elijah Caldwell
      Elijah Caldwell
      TE/EDGE Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Kassius Alston
      Kassius Alston #7
      WR/ATH Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      Vermont Carmack
      Vermont Carmack
      WR/ATH Stat will be calculated on save Stat will be calculated on save Stat will be calculated on save
      No players have statistics entered for this category.

      Rosters

      Jersey Player Class Position Height Weight Rank Commitment Actions
      1
      Truth Caesar
      Truth Caesar
      2029 RB/ATH 5'10" 175 Unlock This player has already been claimed Claim Profile
      11
      Skylar Alston
      Skylar Alston
      2028 LB 6'2" 220 Unlock This player has already been claimed Claim Profile
      34
      Devin Cockerham
      Devin Cockerham
      2029 TE/EDGE 6'5" 190 Unlock This player has already been claimed Claim Profile
      41
      Luke Laurino
      Luke Laurino
      2027 DB 6'1" 175
      This player has already been claimed Claim Profile
      75
      Malek Griffin
      Malek Griffin
      2027 OL 6'5" 305 Unlock This player has already been claimed Claim Profile
      78
      Blake Neal
      Blake Neal
      2028 OL/DL 6'0" 300 Unlock This player has already been claimed Claim Profile
      Griffin Cockerham
      Griffin Cockerham
      2027 EDGE/TE 6'4" 225 Unlock
      North Carolina State
      This player has already been claimed Claim Profile
      Jeremy Douglass
      Jeremy Douglass
      2028 RB 5'10" 165 Unlock Claim Profile
      Kieran Frieary
      Kieran Frieary
      2028 DL 6'2" 270 Unlock Claim Profile
      Xavier Hasan
      Xavier Hasan
      2027 DB 6'0" 180 Unlock
      Notre Dame (IN)
      This player has already been claimed Claim Profile
      Mason Karras
      Mason Karras
      2028 QB 6'0" 180 Unlock Claim Profile
      Anthony Sales
      Anthony Sales
      2028 LS 6'2" 215 Unlock This player has already been claimed Claim Profile
      Tucker Toland
      Tucker Toland
      2028 K 5'9" 160 Unlock Claim Profile
      Jersey Player Class Position Height Weight Rank Commitment Actions
      7
      Kassius Alston
      Kassius Alston
      2028 WR/ATH 6'0" 180 Unlock This player has already been claimed Claim Profile
      8
      Ferrell Price
      Ferrell Price
      2027 QB 6'2" 175 Unlock This player has already been claimed Claim Profile
      13
      Zion Ingram
      Zion Ingram
      2030 ATH 6'0" 130
      This player has already been claimed Claim Profile
      22
      Khalil Lambert
      Khalil Lambert
      2029 RB/WR 5'10" 184
      This player has already been claimed Claim Profile
      55
      Michael Jones
      Michael Jones
      2029 OL 6'6" 350
      This player has already been claimed Claim Profile
      58
      Zayden Carter
      Zayden Carter
      2027 DL/OL 6'3" 285 Unlock This player has already been claimed Claim Profile
      Kameron Abrams
      Kameron Abrams
      2028 OL 6'6" 340 Unlock Claim Profile
      Michael Boone
      Michael Boone
      2027 RB 6'0" 190 Unlock Claim Profile
      Levi Bowser
      Levi Bowser
      2027 ATH 5'9" 150
      This player has already been claimed Claim Profile
      Elijah Caldwell
      Elijah Caldwell
      2030 TE/EDGE 6'3" 180 Unlock This player has already been claimed Claim Profile
      Vermont Carmack
      Vermont Carmack
      2027 WR/ATH 6'4" 175 Unlock
      Southern Mississippi
      This player has already been claimed Claim Profile
      Devin Cotton
      Devin Cotton
      2027 EDGE 6'3" 215 Unlock This player has already been claimed Claim Profile
      Christian Ford
      Christian Ford
      2029 ATH 5'9" 165 Unlock This player has already been claimed Claim Profile
      Ramonta Galloway Jr
      Ramonta Galloway Jr
      2028 RB/ATH 5'9" 180 Unlock This player has already been claimed Claim Profile
      Saimair Horton
      Saimair Horton
      2027 ATH 6'2" 195 Unlock
      North Carolina Central
      This player has already been claimed Claim Profile
      David Johnson
      David Johnson
      2029 LB 5'11" 200 Unlock This player has already been claimed Claim Profile
      Jalen Jones
      Jalen Jones
      2027 DB/LB 6'2" 190 Unlock This player has already been claimed Claim Profile
      NaShon Overby
      NaShon Overby
      2028 DL 6'3" 230 Unlock Claim Profile
      Azhir Waddell
      Azhir Waddell
      2028 OL/DL 6'5" 275 Unlock Claim Profile
      Zamari Williamson
      Zamari Williamson
      2028 QB 5'11" 160 Unlock Claim Profile

      Recent Games

      Cardinal Gibbons

      Cardinal Gibbons
      Cardinal Gibbons
      45
      Dudley
      Dudley
      6
      Aug 22

      Dudley

      Dudley
      Dudley
      6
      Cardinal Gibbons
      Cardinal Gibbons
      45
      Aug 22

      Related Stories

      2027 Defensive Line Risers - Rankings Update

      2027 Defensive Line Risers - Rankings Update

      Matt Morrow • October 8, 2026

      2027 Rankings Update: Top Player Tidbits

      2027 Rankings Update: Top Player Tidbits

      Will Helms • October 8, 2026

      Predicting Winners and MVPs For Every Top 10 Matchup in the East

      Predicting Winners and MVPs For Every Top 10 Matchup in the East

      Will Helms • September 3, 2026

      704 Metro Area Week 2 Games To Watch

      704 Metro Area Week 2 Games To Watch

      Matt Morrow • August 28, 2026

      Defensive Stars Of The State Week 1

      Defensive Stars Of The State Week 1

      Matt Morrow • August 26, 2026

      Offensive Stars Of The State Week 1

      Offensive Stars Of The State Week 1

      Matt Morrow • August 26, 2026

      2028 Watchlist-to-Ranked Skill Players: Midseason Update

      2028 Watchlist-to-Ranked Skill Players: Midseason Update

      Will Helms • October 15, 2026

      Behind the Scenes of the 2028 Rankings: Midseason Update

      Behind the Scenes of the 2028 Rankings: Midseason Update

      Will Helms • October 12, 2026

      3 Week 4 Games To Watch in the 336

      3 Week 4 Games To Watch in the 336

      Will Helms • September 10, 2026

      Monday Musings: Week 3

      Monday Musings: Week 3

      Will Helms • September 7, 2026

      Four Monday Games That Could Change the Picture in the 252

      Four Monday Games That Could Change the Picture in the 252

      Zane Rowland • August 30, 2026

      2026 North Carolina High School Football Primer

      2026 North Carolina High School Football Primer

      Will Helms • August 20, 2026

      ​

      Report Scores Issue

      Our Brands

      • Prep Network
      • Prep Dig
      • Prep Girls Hoops
      • Prep Girls Lacrosse
      • Prep Gymnastics
      • Prep Hoops
      • Prep Lacrosse
      • Prep Redzone
      • Prep Soccer
      • Prep Softball

      Company

      • News
      • About
      • Careers
      • Store (opens in a new tab)
      • Partner Interest Form (opens in a new tab)

      Resources

      • Terms of Service (opens in a new tab)
      • Privacy Policy (opens in a new tab)
      • Accessibility (opens in a new tab)
      • Cookie Policy (opens in a new tab)
      • NCSA College Recruiting
      • Recruiting Tips
      • Student Loan Resources (opens in a new tab)
      • College Scholarship Search (opens in a new tab)
      • Terms for Sales and Promotions (opens in a new tab)

      Support

      • My Account
      • Contact
      • Sitemap

      © 2026 Prep Redzone. All rights reserved.