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...
  • Tournaments
    • 7 on 7 7 on 7
    Showcases
    • Combine Series Combine Series
    About Our Events
  • Prep Redzone for
    • Players
    • Parents
    • Club Coaches
    • High School Coaches
    • College Coaches
    • Fans
    View All Features
    • Coverage Access Prep Redzone articles year-round without ads.
    • Rankings See how players stack up in each state.
    • Player Profiles Build your own profile and join the Prep Redzone database.
    • Coach Views Get notified when a college coach views your profile.
    • 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.
    • 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.
    • How We Rank
  • Pennsylvania
  • Rankings
    • How We Rank

    • Archived Rankings

    • 2026 Rankings

    • 2027 Rankings

    • 2028 Rankings

    • 2029 Rankings

  • Player Database
  • Scores
  • 2025 Team Previews
  • Scouts
  • 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
      • Combine Series Combine Series
      About Our Events
  • Rankings
      Loading...
  • Features
      Prep Redzone for
      • Players
      • Parents
      • Club Coaches
      • High School Coaches
      • College Coaches
      • Fans
      View All Features
      • Coverage Access Prep Redzone articles year-round without ads.
      • Rankings See how players stack up in each state.
      • Player Profiles Build your own profile and join the Prep Redzone database.
      • Coach Views Get notified when a college coach views your profile.
      • 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.
      • 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
      • How We Rank
  • Support
Login Subscribe

Football Down the Shore, Who Outplayed Their Current Ranking?

Football Down the Shore, Who Outplayed Their Current Ranking?
Vic Castillo
Vic Castillo September 4, 2024 @ 02:22 PM
Facebook
X (Formerly Twitter)

In this article:

Braeden Smith
Braeden Smith 6'2" | 205 lbs | LB | 2026
PA
Jordan Cotton
Jordan Cotton DB | 2026
PA
Grayson McKeogh
Grayson McKeogh 6'8" | 280 lbs | OL/TE | 2026
PA
Jackson Samuels Ford
Jackson Samuels Ford 6'5" | 240 lbs | EDGE | 2026
PA
Brandon Truszkowski
Brandon Truszkowski 6'7" | 315 lbs | OL | 2026
PA
Bernard Blakey
Bernard Blakey 6'6" | 210 lbs | DL | 2025
PA
Dylan Clair
Dylan Clair 6'0" | 215 lbs | LB | 2025
PA
Skyler Smith
Skyler Smith 6'0" | 185 lbs | QB | 2025
PA
Jack Leuthe
Jack Leuthe 6'0" | 210 lbs | LB | 2025
PA
Gavin Sidwar
Gavin Sidwar 6'3" | 190 lbs | QB | 2026
PA
Ben Kumpon
Ben Kumpon 6'1" | 220 lbs | TE | 2025
PA
Chris Ulmer
Chris Ulmer 6'3" | 220 lbs | LB | 2025
PA
<!-- wp:acf/evaluation-block {"name":"acf/evaluation-block","data":{"player_evaluations_0_player":["1156204"],"_player_evaluations_0_player":"field_62ab9d62ecf2c","player_evaluations_0_override_profile_image":"","_player_evaluations_0_override_profile_image":"override-player-profile-image","player_evaluations_0_not_in_database":"","_player_evaluations_0_not_in_database":"field_62aba48cecf2d","player_evaluations":1,"_player_evaluations":"field_62aba7547dc44"},"mode":"preview","alignText":"left","anchor":"acf-block-66d653eae61ac"} --> <!-- wp:paragraph {"placeholder":"Add evaluation here...","className":"text-gray-700"} --> <p class="text-gray-700">Safety reps beside Ty'Sir Jones. Many Railsplitters raised their stock against a Germantown Academy program filled with impressive prospects, not sure anyone raised their stock more than junior DB [player_tooltip player_id='1156204' first='Jordan' last='Cotton']. [player_tooltip player_id='1156204' first='Jordan' last='Cotton'] ended up making the play to save and secure Lincoln's victory over the Patriots. Germantown's second half had Lincoln reeling a bit, they'd end up losing this football game by just three points. Had Cotton not come down from his safety spot and blow up a route in his sights on 4th down, Germantown likely would have tied or won the game, an extra possession would have likely provided enough of an opportunity for GTown to take the lead. Cotton's 4th-down PBU showed off pure instincts that I previously didn't know he had in him. Along with this game-saving rep, Cotton would come up big in run support on numerous occasions. Germantown insisted on running the football, yet Cotton and many other Railsplitters were there to answer the call. His stock is up. </p> <!-- /wp:paragraph --> <!-- /wp:acf/evaluation-block --> <!-- wp:acf/evaluation-block {"name":"acf/evaluation-block","data":{"player_evaluations_0_player":["647203"],"_player_evaluations_0_player":"field_62ab9d62ecf2c","player_evaluations_0_override_profile_image":"","_player_evaluations_0_override_profile_image":"override-player-profile-image","player_evaluations_0_not_in_database":"","_player_evaluations_0_not_in_database":"field_62aba48cecf2d","player_evaluations":1,"_player_evaluations":"field_62aba7547dc44"},"mode":"preview","alignText":"left","anchor":"acf-block-66d655138c29a"} --> <!-- wp:paragraph {"placeholder":"Add evaluation here...","className":"text-gray-700"} --> <p class="text-gray-700">[player_tooltip player_id='647203' first='Brandon' last='Truszkowski']'s offseason work actually had him move up our boards. The junior lineman's season debut against Lincoln has me thinking we made the right decision moving Truszkowski closer to the Top 150. 6'7, 300 pounds, Truszkowski has always intrigued in terms of size, after this weekend Truszkowski has tape and production to match said intrigue surrounding his game. I applaud his ability to provide quality reps at both right and left tackle depending on the set called. This isn't easy to do within the same football game, Truszkowski proves he can understand the myriad of assignments thrown his way, depending on alignment of course. Truszkowski showed off good leg drive, good balance coming out of his stance. Solid pad level, tackle prospects standing at 6'7" could always be better here. Good engager, witnessed Truszkowski lock out his arms against smaller competition. I witnessed the junior tackle drive kids 10-12 yards off the ball. Pancakes, good reps steering defenders away from the football. An all-around good performance put forth by a young man with unreal upside.</p> <!-- /wp:paragraph --> <!-- wp:embed {"url":"https://twitter.com/BrandonTrus55/status/1830425954767823155","type":"rich","providerNameSlug":"twitter","responsive":true} --> <figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper"> https://twitter.com/BrandonTrus55/status/1830425954767823155 </div></figure> <!-- /wp:embed --> <!-- /wp:acf/evaluation-block --> <!-- wp:acf/evaluation-block {"name":"acf/evaluation-block","data":{"player_evaluations_0_player":["272635"],"_player_evaluations_0_player":"field_62ab9d62ecf2c","player_evaluations_0_override_profile_image":"","_player_evaluations_0_override_profile_image":"override-player-profile-image","player_evaluations_0_not_in_database":"","_player_evaluations_0_not_in_database":"field_62aba48cecf2d","player_evaluations":1,"_player_evaluations":"field_62aba7547dc44"},"mode":"preview","alignText":"left","anchor":"acf-block-66d653eae6218"} --> <!-- wp:paragraph {"placeholder":"Add evaluation here...","className":"text-gray-700"} --> <p class="text-gray-700">[player_tooltip player_id='272635' first='Ben' last='Kumpon'] took a slight dip on our ranks solely because of slow recruiting contrary to the type of ceiling we thought Kumpon provided. What's great to know, Kumpon doesn't look to have lost a step. I'm more inclined to leave Kumpon among the Top 150 prospects in his class after seeing him move the way he did against LaSalle. Backer reps behind a star-studded defensive front, Kumpon was spotted flying around the field making stops against the run close and far from the initial snap of the ball. Backer reps are great, tack on tight-end reps fully displaying to potential collegiate suitors that Kumpon can both provide impact blocking in-line or split-out (crack blocks). Kumpon also caught two passes, linking up well with an improvising Melconian on each occasion. Kumpon had his hands on this game, clutch first downs, seal blocks in the run game, nearly ten tackles on the night. I'm happy to learn Kumpon is still a Division One caliber football prospect. Stock is back up. </p> <!-- /wp:paragraph --> <!-- wp:embed {"url":"https://twitter.com/BenKumpon/status/1830624835866710229","type":"rich","providerNameSlug":"twitter","responsive":true} --> <figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper"> https://twitter.com/BenKumpon/status/1830624835866710229 </div></figure> <!-- /wp:embed --> <!-- /wp:acf/evaluation-block --> <!-- wp:acf/evaluation-block {"name":"acf/evaluation-block","data":{"player_evaluations_0_player":["1091168"],"_player_evaluations_0_player":"field_62ab9d62ecf2c","player_evaluations_0_override_profile_image":"","_player_evaluations_0_override_profile_image":"override-player-profile-image","player_evaluations_0_not_in_database":"","_player_evaluations_0_not_in_database":"field_62aba48cecf2d","player_evaluations":1,"_player_evaluations":"field_62aba7547dc44"},"mode":"preview","alignText":"left","anchor":"acf-block-66d653eae62ad"} --> <!-- wp:paragraph {"placeholder":"Add evaluation here...","className":"text-gray-700"} --> <p class="text-gray-700">[player_tooltip player_id='1091168' first='Grayson' last='McKeogh'], identified early as a TE and/or defensive line prospect prior to seeing him work against Malvern Prep. McKeogh is an obvious candidate for early offers before understanding that he might be being actively recruited to play the offensive line position. LaSalle is in need of size and length along the offensive line unit, preparing McKeogh all-offseason to protect [player_tooltip player_id='284126' first='Gavin' last='Sidwar']'s blindside makes too much sense. </p> <!-- /wp:paragraph --> <!-- wp:paragraph {"placeholder":"Add evaluation here...","className":"text-gray-700"} --> <p class="text-gray-700">McKeogh, before diving into his performance against an elite DL unit, is already in-line for a boost knowing the LaSalle brass has been developing him to play tackle behind the scenes. As athletically gifted as a tackle prospect can be, McKeogh will not pose as a recuit capable of playing TE/DL/OT at the FBS level. MCKeogh would draw a mix between [player_tooltip player_id='602549' first='Bernard' last='Blakey'] and [player_tooltip player_id='934888' first='Jackson' last='Samuels Ford'], quite the matchups to debut against. That being said, we didn't hear much of a peep out of the pass-rushing duo unless production came through second efforts. McKeogh was helped by a quick-hitting Sidwar, the young man doesn't hold onto the football long. Still, McKeogh was witnessed driving pass-rushers deep into pockets, providing ample room for Sidwar to step into and/or evade rushes. McKeogh matched Samuels-Ford and Blakey, for this reason his stock continues to rise on our ranks. Could be a future Top 25 prospect.</p> <!-- /wp:paragraph --> <!-- wp:embed {"url":"https://twitter.com/GraysonMcKeogh/status/1760791233486581884","type":"rich","providerNameSlug":"twitter","responsive":true} --> <figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper"> https://twitter.com/GraysonMcKeogh/status/1760791233486581884 </div></figure> <!-- /wp:embed --> <!-- /wp:acf/evaluation-block --> <!-- wp:acf/evaluation-block {"name":"acf/evaluation-block","data":{"player_evaluations_0_player":["386145"],"_player_evaluations_0_player":"field_62ab9d62ecf2c","player_evaluations_0_override_profile_image":"","_player_evaluations_0_override_profile_image":"override-player-profile-image","player_evaluations_0_not_in_database":"","_player_evaluations_0_not_in_database":"field_62aba48cecf2d","player_evaluations":1,"_player_evaluations":"field_62aba7547dc44"},"mode":"preview","alignText":"left","anchor":"acf-block-66d653eae62f4"} --> <!-- wp:paragraph {"placeholder":"Add evaluation here...","className":"text-gray-700"} --> <p class="text-gray-700">Recruiting and ranking aside, each time I watch [player_tooltip player_id='386145' first='Jack' last='Leuthe'] play I'm reminded of the prospect colleges are missing out on. There are poor misconceptions about his size, Leuthe holds an offer out of Saint Francis, yet for this to be his lone offer at this stage of his career is baffling, this being my own opinion. Regardless of opinions, I was able to see Leuthe put on a show against an elite Malvern Prep football team, casting away unreasonable margins placed upon the young man. When it's time to suit up, when it's time to ball, this kid shows up. </p> <!-- /wp:paragraph --> <!-- wp:paragraph {"placeholder":"Add evaluation here...","className":"text-gray-700"} --> <p class="text-gray-700">Leuthe nearly broke this game open with an interception of Lafayette commit [player_tooltip player_id='386285' first='Skyler' last='Smith']. Leuthe would see green grass ahead of him and take this pick to the house, elevating the Explorers lead to 18 at the time. The highlight capped off a night where Leuthe sniffed out ball carriers all over the field. Aligned beside [player_tooltip player_id='386327' first='Dylan' last='Clair'], Leuthe can react like lightning to zone-runs playing off-tackle. Play Leuthe at the LOS and he can chase down ball carriers when aligned backside, or set the edge and throttle runs headed his way. If weight was a problem, LaSalle wouldn't be comfortable placing Leuthe all over the front seven. Leuthe's game doesn't look much different than it has in the past, I'm excited to learn that he still has the juice to set the tone in a game littered with HS stars. I can't help but feel Leuthe is a top ten backer in what is a historic backer class in Pennsylvania. Here's to hoping schools hit his line before October comes around. Stock is back up.</p> <!-- /wp:paragraph --> <!-- wp:embed {"url":"https://twitter.com/PRZPAvic/status/1829660406287385084","type":"rich","providerNameSlug":"twitter","responsive":true} --> <figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper"> https://twitter.com/PRZPAvic/status/1829660406287385084 </div></figure> <!-- /wp:embed --> <!-- /wp:acf/evaluation-block --> <!-- wp:acf/evaluation-block {"name":"acf/evaluation-block","data":{"player_evaluations_0_player":["1220956"],"_player_evaluations_0_player":"field_62ab9d62ecf2c","player_evaluations_0_override_profile_image":"","_player_evaluations_0_override_profile_image":"override-player-profile-image","player_evaluations_0_not_in_database":"","_player_evaluations_0_not_in_database":"field_62aba48cecf2d","player_evaluations":1,"_player_evaluations":"field_62aba7547dc44"},"mode":"preview","alignText":"left","anchor":"acf-block-66d653eae633b"} --> <!-- wp:paragraph {"placeholder":"Add evaluation here...","className":"text-gray-700"} --> <p class="text-gray-700">There is no way there are 75 junior linebackers in Pennsylvania better than [player_tooltip player_id='1220956' first='Braeden' last='Smith']. I might need to take a second or third look at his sophomore tape. Smith's grade might just be a complete oversight on my part. I came to this conclusion after watching Smith play beside Monmouth commit [player_tooltip player_id='264251' first='Chris' last='Ulmer'], who I like as one of the best linebackers in all of PA. Size comparable to Ulmer himself, with read and react skills that flashed in person. I would love to sing Smith's praises yet Father Judge did a great job pounding the rock through the LC defense late in this one, so I can't fully laud Smith's performance, or any prospect on LC's defense much. This being said, Smith was disruptive against the run as well as the pass. Multiple PBUs, multiple gap shoots that led to TFLs. I often mistook Smith for Ulmer in this one, that being a big compliment. I'll see to it that Smith's rank is raised. I'm unsure how far up right now, yet I came away much more impressed after live evaluation. Stock is up.</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><a href="https://twitter.com/BraedenSmith_24">[player_tooltip player_id='1220956' first='Braeden' last='Smith'] (@BraedenSmith_24) / X (twitter.com)</a></p> <!-- /wp:paragraph --> <!-- /wp:acf/evaluation-block -->
Jordan Cotton

Jordan Cotton

PA
DB
POS DB
CLASS 2026
View Player
​
Jordan
Cotton DB
Class
2026
HS
Lincoln
|
PA
Football Down the Shore, Who Outplayed Their Current Ranking?
Safety reps beside Ty’Sir Jones. Many Railsplitters raised their stock against a Germantown Academy program filled with impressive...
Written by Vic Castillo
Read more at PrepRedzone.com
Prep Redzone

Jordan Cotton

State: Pennsylvania
School: Lincoln
Subscribe below to view this player's evaluation
Delaware
Brandon Truszkowski

Brandon Truszkowski

PA
OL
HEIGHT 6'7"
WEIGHT 315
POS OL
CLASS 2026
View Player
​
Brandon
Truszkowski OL
Class
2026
Height
6'7"
Weight
315
HS
Germantown Academy
|
PA
Football Down the Shore, Who Outplayed Their Current Ranking?
Brandon Truszkowski ‘s offseason work actually had him move up our boards. The junior lineman’s season debut against...
Written by Vic Castillo
Delaware
Read more at PrepRedzone.com
Prep Redzone

Brandon Truszkowski

Instagram Twitter
State: Pennsylvania
School: Germantown Academy
Subscribe below to view this player's evaluation

Highlights

Towson
Ben Kumpon

Ben Kumpon

PA
TE
HEIGHT 6'1"
WEIGHT 220
POS TE
CLASS 2025
View Player
​
Ben
Kumpon TE
Class
2025
Height
6'1"
Weight
220
HS
Malvern Prep
|
PA
Football Down the Shore, Who Outplayed Their Current Ranking?
Ben Kumpon took a slight dip on our ranks solely because of slow recruiting contrary to the type...
Written by Vic Castillo
Towson
Read more at PrepRedzone.com
Prep Redzone

Ben Kumpon

Twitter
State: Pennsylvania
School: Malvern Prep
Subscribe below to view this player's evaluation

Highlights

Notre Dame (IN)
Grayson McKeogh

Grayson McKeogh

PA
OL/TE
HEIGHT 6'8"
WEIGHT 280
POS OL/TE
CLASS 2026
View Player
​
Grayson
McKeogh OL/TE
Class
2026
Height
6'8"
Weight
280
HS
La Salle College
|
PA
Football Down the Shore, Who Outplayed Their Current Ranking?
Grayson McKeogh , identified early as a TE and/or defensive line prospect prior to seeing him work against...
Written by Vic Castillo
Notre Dame (IN)
Read more at PrepRedzone.com
Prep Redzone

Grayson McKeogh

Instagram Twitter
State: Pennsylvania
School: La Salle College
Subscribe below to view this player's evaluation

Highlights

St. Francis (PA)
Jack Leuthe

Jack Leuthe

PA
LB
HEIGHT 6'0"
WEIGHT 210
POS LB
CLASS 2025
View Player
​
Jack
Leuthe LB
Class
2025
Height
6'0"
Weight
210
HS
La Salle College
|
PA
Football Down the Shore, Who Outplayed Their Current Ranking?
Recruiting and ranking aside, each time I watch Jack Leuthe play I’m reminded of the prospect colleges are...
Written by Vic Castillo
St. Francis (PA)
Read more at PrepRedzone.com
Prep Redzone

Jack Leuthe

Instagram Twitter
State: Pennsylvania
School: La Salle College
Subscribe below to view this player's evaluation

Highlights

Braeden Smith

Braeden Smith

PA
LB
HEIGHT 6'2"
WEIGHT 205
POS LB
CLASS 2026
View Player
​
Braeden
Smith LB
Class
2026
Height
6'2"
Weight
205
HS
Lansdale Catholic
|
PA
Football Down the Shore, Who Outplayed Their Current Ranking?
There is no way there are 75 junior linebackers in Pennsylvania better than Braeden Smith . I might...
Written by Vic Castillo
Read more at PrepRedzone.com
Prep Redzone

Braeden Smith

Instagram Twitter
State: Pennsylvania
School: Lansdale Catholic
Subscribe below to view this player's evaluation

Highlights

Prep Redzone

Access all of Prep Redzone

Continue reading this article and more.

Continue Reading
Already a subscriber? Log in

Rankings

1111 Players Ranked

  • 1
    Joey O’Brien

    Joey O’Brien

    La Salle College

    Notre Dame (IN)
  • 2
    Gavin Sidwar

    Gavin Sidwar

    La Salle College

    Missouri
  • 3
    Kevin Brown

    Kevin Brown

    Harrisburg

    Penn State
  • 4
    Jackson Samuels Ford

    Jackson Samuels Ford

    Malvern Prep

    Penn State
  • 5
    Grayson McKeogh

    Grayson McKeogh

    La Salle College

    Notre Dame (IN)
View Full Rankings

Related Articles

  • Stock Risers: 8 WPIAL 2026 Football Standouts

    Stock Risers: 8 WPIAL 2026 Football Standouts

    Pat Weider • August 9

  • PRZPA Team Previews: Clairton

    PRZPA Team Previews: Clairton

    Pat Weider • August 8

  • PRZPA Team Previews: Exeter Township

    PRZPA Team Previews: Exeter Township

    Pat Weider • August 7

  • Class 6A WPIAL Breakout Candidates

    Class 6A WPIAL Breakout Candidates

    Tyler Stevens • August 6

  • PRZPA Team Previews: State College

    PRZPA Team Previews: State College

    Pat Weider • August 4

Follow Us

  • Vic Castillo

    Vic Castillo

    @PRZPAvic

  • Alan Popadines

    Alan Popadines

    @ALPopsFootball

  • Pat Weider

    Pat Weider

    @footballcoach79

  • Carl Frederick

    Carl Frederick

    @carljfred

  • Ed OBrien

    Ed OBrien

    @EdOBrienCFB

  • Arlen Harris

    Arlen Harris

    @ArlenHarrisSr

Loading...
Home Pennsylvania Football Down the Shore, Who Outplayed Their Current Ranking?

Prep Network

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

Company

  • News
  • Careers
  • Store
  • Partner Interest Form

Resources

  • Terms of Service
  • Privacy Policy
  • Accessibility
  • Cookie Policy
  • Recruiting Tips
  • Student Loan Resources
  • College Scholarship Search

Support

  • My Account
  • Contact
  • Sitemap

© 2025 Prep Redzone. All rights reserved.