Login Subscribe
    • Players/Parents
    • College Coaches
  • Choose Your State Middle School Coverage
    Alabama
    Arizona
    Arkansas
    California
    Colorado
    Dakotas
    Delaware
    Florida
    Georgia
    Idaho
    Illinois
    Indiana
    Iowa
    Kansas
    Kentucky
    Louisiana
    Maryland
    Michigan
    Minnesota
    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
    • Prep Hoops Prep Hoops
    • Prep Hoops Next Prep Hoops Next
    Showcases
    • Freshman Showcase Freshman Showcase
    • Sophomore ID Camp Sophomore ID Camp
    • The Expo The Expo
    About Our Events
  • Prep Hoops for
    • Players
    • Parents
    • Club Coaches
    • High School Coaches
    • College Coaches
    • Fans
    View All Features
    • Player Profiles Build your own profile and join the Prep Hoops database.
    • Coverage Access Prep Hoops articles year-round without ads.
    • Rankings See how players stack up in each state.
    • 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.
    • Recruiting Tips Become an expert on the recruiting process.
    • Event Credits Save $25 on all Prep Hoops showcases.
    • College Email Templates Send customized emails directly to college coaches.
    • Scouts
    • How We Rank
    • Reviews
    • About Us
  • Wisconsin
  • Rankings
    • How We Rank

    • HS Power Rankings

    • Archived Rankings

    • 2026 Rankings

    • 2027 Rankings

    • 2028 Rankings

    • 2029 Rankings

  • Teams
    • Club Programs

    • High Schools

  • Player Database
  • Scores
  • Scouts
  • Home
  • Coverage
      Choose Your State Middle School Coverage
      Alabama
      Arizona
      Arkansas
      California
      Colorado
      Dakotas
      Delaware
      Florida
      Georgia
      Idaho
      Illinois
      Indiana
      Iowa
      Kansas
      Kentucky
      Louisiana
      Maryland
      Michigan
      Minnesota
      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
      • Prep Hoops Prep Hoops
      • Prep Hoops Next Prep Hoops Next
      Showcases
      • Freshman Showcase Freshman Showcase
      • Sophomore ID Camp Sophomore ID Camp
      • The Expo The Expo
      About Our Events
  • Rankings
      Loading...
  • Features
      Prep Hoops for
      • Players
      • Parents
      • Club Coaches
      • High School Coaches
      • College Coaches
      • Fans
      View All Features
      • Player Profiles Build your own profile and join the Prep Hoops database.
      • Coverage Access Prep Hoops articles year-round without ads.
      • Rankings See how players stack up in each state.
      • 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.
      • Recruiting Tips Become an expert on the recruiting process.
      • Event Credits Save $25 on all Prep Hoops showcases.
      • College Email Templates Send customized emails directly to college coaches.
  • About Us
      • Scouts
      • How We Rank
      • Reviews
      • About Us
  • Support
Login Subscribe

Kettle Moraine Scrimmages

Kettle Moraine Scrimmages
Michael Hansen
Michael Hansen
November 20, 2023 @ 08:32 PM
Facebook
X (Formerly Twitter)

In this article:

Zeke Sawall
Zeke Sawall 6'4" | SF | 2026
WI
Tyler Boesel
Tyler Boesel 6'5" | SF | 2024
WI
Jalen Brown
Jalen Brown 6'4" | CG | 2027
WI
LaMont Hamilton
LaMont Hamilton 6'0" | PG | 2026
WI
Pryce Gregoire
Pryce Gregoire 6'6" | SF | 2025
WI
Jakari Smith
Jakari Smith 6'5" | SG | 2026
WI
Zach Kinziger
Zach Kinziger 6'3" | CG | 2025
WI
Ayden Goll
Ayden Goll 6'2" | PG | 2024
WI
Kai Rogers
Kai Rogers 6'10" | C | 2025
WI
Jake Hansen
Jake Hansen 6'1" | SG | 2025
WI
Ben Willihnganz
Ben Willihnganz 6'7" | PF | 2024
WI
Nolan Minessale
Nolan Minessale 6'5" | SF | 2024
WI
Will Hornseth
Will Hornseth 6'8" | PF | 2024
WI
Moses Long
Moses Long 6'3" | SG | 2024
WI
<!-- wp:paragraph --> <p>The final preview prior to the launch of the season, has for the last couple of year been the scrimmages at Kettle Moraine high School. They come after only a week of practice but yet are fun to watch and to consider for the upcoming season. </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>Match-Ups Looking Forward to</strong>:</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>Marquette University HS vs Racine Horlick </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>Marquette University HS vs Madison East </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>DePere vs Wauwatosa West </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>Menomonee Falls vs St Cat's </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>Madison East vs Bradley Tech </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>Kimberely vs Brookfield East </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>Kimberely vs DePere </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>Tosa West vs Sheboygan North vs Appleton East </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>Other Teams: </strong></p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>Milton </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>Norte Dame </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>Hartford</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>Whitewater</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>Elkorn </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>Cedarburg </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>Top Players Making an Appearance</strong>:</p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>[player_tooltip player_id='1351717' first='Zach' last='Kinziger'] | 6'4" | G | 2025 | DePere </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>[player_tooltip player_id='1193234' first='Will' last='Hornseth'] | 6'8" | PF | 2024 | DePere </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>[player_tooltip player_id='1238625' first='Ben' last='Willihnganz'] | 6'8" | PF | 2024 | DePere </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>[player_tooltip player_id='1908410' first='Pryce' last='Gregoire'] | 6'6" | W | 2026 | DePere </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>[player_tooltip player_id='1959723' first='Lamont' last='Hamilton'] | 5'10" | PG | 2026 | Racine St Cats </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>[player_tooltip player_id='1749722' first='Jakari' last='Smith'] | 6'4" | W | 2026 | Bradley Tech </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>[player_tooltip player_id='1203205' first='Nolan' last='Minessale'] | 6'4" | W | 2024 | Marquette </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>[player_tooltip player_id='1240335' first='Kai' last='Rogers'] | 6'10" | C | 2025 | Wauwatosa West </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>[player_tooltip player_id='1240337' first='Jake' last='Hansen'] | 6'1" | G | 2025 | Wauwatosa West </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>Cam Henderson | 5'9" | PG | 2024 | Madison East </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>Reese Jordan | 5'11" | G | 2025 Madison East </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p>[player_tooltip player_id='1288365' first='Ayden' last='Goll'] | 6'0" | PG | 2024 | Milton </p> <!-- /wp:paragraph --> <!-- wp:acf/evaluation-block {"name":"acf/evaluation-block","data":{"player_evaluations_0_player":["1351717"],"_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_0_evaluation":"This prospect might just be better than we all already know. He is firmly entrenched as a leader on his DePere team that is a pre-season favorite to repeat as state champion. He played well over the two game that I took in. Was able to get to his shots when he needed to. During the tough match-up against a motivated Tosa West team he had some incredible finishes against a tough defender. Then after Tosa West was up by double digits he never waivered and showed  a calm leadership and battled back to within 2 points.","_player_evaluations_0_evaluation":"field_62aba51aecf34","player_evaluations_1_player":["1203205"],"_player_evaluations_1_player":"field_62ab9d62ecf2c","player_evaluations_1_override_profile_image":"","_player_evaluations_1_override_profile_image":"override-player-profile-image","player_evaluations_1_not_in_database":"","_player_evaluations_1_not_in_database":"field_62aba48cecf2d","player_evaluations_1_evaluation":"Usually when a scout talks about Nolan it is on the offensive end of the court. They point out that he is making an explosion to the hoop on a back door cut for a spectacular dunk. When I sat down on Saturday to watch, the first thing that jumped out was on the defensive end. He was able to apply tough parameter defense to pick the pocket of the opponent at top of the key mid court area. The next time down he blocked a shot in traffic just off the left low post area. It's great to see this wrinkle in Nolan's progression. I will venture to say that if this continues, he will again be a strong candidate for the player of the year in the Greater Metro Conference.","_player_evaluations_1_evaluation":"field_62aba51aecf34","player_evaluations_2_player":["1142144"],"_player_evaluations_2_player":"field_62ab9d62ecf2c","player_evaluations_2_override_profile_image":"","_player_evaluations_2_override_profile_image":"override-player-profile-image","player_evaluations_2_not_in_database":"","_player_evaluations_2_not_in_database":"field_62aba48cecf2d","player_evaluations_2_evaluation":"I really liked what I saw in this prospect's games on Saturday. Especially the game against Sheboygan North where I would have to say he played as well as I have ever seen. I will go as far as to say that he played exactly how a coach would want a player to play and produce. He started with defense and then played smartly on offense, in the role that was expected of him. In this game he did score early, but he impacted the game across the stat sheet throughout. He rebounded the ball at a solid rate, he added a block or two, then contributed by making the right read on a few assists. In the tougher match-up against DePere he drew the assignment of guarding a Wisconsin commit, [player_tooltip player_id='1351717' first='Zach' last='Kinziger'] and he did well.  If he can find the consistently to play in this fashion Tosa West has a chance to win the Greater Metro Conference.","_player_evaluations_2_evaluation":"field_62aba51aecf34","player_evaluations_3_player":["1959723"],"_player_evaluations_3_player":"field_62ab9d62ecf2c","player_evaluations_3_override_profile_image":"","_player_evaluations_3_override_profile_image":"override-player-profile-image","player_evaluations_3_not_in_database":"","_player_evaluations_3_not_in_database":"field_62aba48cecf2d","player_evaluations_3_evaluation":"For a sophomore, this is a special player and can make an impact when he is taking the game seriously. For me, he displayed a potential D1 quickness that allowed him to get to the rack often. I was surprised by his elevation when driving and just how much of a determination, I saw at times. He has a very good two hard dribble move that he can either pass or shoot out of. On defense I saw him apply pressure by the loss art of sliding one's feet to stay in front of his man. He showed more than enough to want to mark a couple of games on the calendar, in effort to catch him and his team this season.","_player_evaluations_3_evaluation":"field_62aba51aecf34","player_evaluations_4_player":["1240335"],"_player_evaluations_4_player":"field_62ab9d62ecf2c","player_evaluations_4_override_profile_image":"","_player_evaluations_4_override_profile_image":"override-player-profile-image","player_evaluations_4_not_in_database":"","_player_evaluations_4_not_in_database":"field_62aba48cecf2d","player_evaluations_4_evaluation":"We often talk about this prospect, and it is well earned, because each time we do there is usually a big performance or a new wrinkle to his game. Over the last couple of events, I have seen a marked effort to improve the form on his jumper. this will help in giving him the best chance at making the outside jumper, as well as speed up his release. Another wrinkle is his improvement his been handles or at least the confidence to use. On the offensive sets he is getting the ball away from the hoop more and then making a variety of moves and finishes to score. Against DePere he had tough matchups against a very large team but was able to make impacts across the board. Early, when he wasn't scoring he made defensive stops and controlled the glass by tallying 8 in the first half. In the second half he added the points, blocks, the dunks to cement the win. What I also saw was some calm controlled leadership in that DePere made their late charge and he was vital in controlling the ball at the end.","_player_evaluations_4_evaluation":"field_62aba51aecf34","player_evaluations_5_player":["1193234"],"_player_evaluations_5_player":"field_62ab9d62ecf2c","player_evaluations_5_override_profile_image":"","_player_evaluations_5_override_profile_image":"override-player-profile-image","player_evaluations_5_not_in_database":"","_player_evaluations_5_not_in_database":"field_62aba48cecf2d","player_evaluations_5_evaluation":"This Northern Iowa commit played well over the two game I took in. At 6'8u0022 and his physical stature he can be a bully on the inside and then hit the three on the parameter. When paired up against Rogers he never backed down once. He showed a variety of moves to finish from a wing position that had you impressed with the smoothness. I think that there is more to come from this one and he is not near his potential. This DePere squad is a favorite for the division one state title once again and could very well come down to him carrying them on his back. That is certainly not meant as a slight to anyone else on this very talented roster, just a mention of how good he is and then when it comes to crunch time, you go to your big to score.","_player_evaluations_5_evaluation":"field_62aba51aecf34","player_evaluations":6,"_player_evaluations":"field_62aba7547dc44"},"mode":"edit","alignText":"left","anchor":"acf-block-655b9d28b0576"} /--> <!-- wp:paragraph --> <p><strong>Quick Buckets: </strong></p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>[player_tooltip player_id='1240337' first='Jake' last='Hansen']</strong> - we all know that he can shoot and score, one the best in the state at the 3 ball. But what got me at this event was his open court pressure defense. He had 5+ steals in one game then multiple steals in the next. </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>[player_tooltip player_id='1749722' first='Jakari' last='Smith']</strong> of Bradley Tech - I am beginning to like this one. The 6'4" 2026 prospect has got me wanting to catch more of his games. Truthfully I have only seen him at these type of events or AAU. I want to see him this season in the high school setting, because each time I see him play I notice something else. </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>Demeir Hogans-Harris</strong> Bradley Tech - second event in a row that I am going to call out this 2024 prospect out for his play. He was able to get to the hoop, elevate, and finish at will. </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>[player_tooltip player_id='2500059' first='Zeke' last='Sawall'] </strong>6'2" G 2026 Brookfield East showed me some potential in a game against Kimberely. I think he could do well in that system and found myself wanting him to shoot more so I could get a better gauge on his jumper. </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>[player_tooltip player_id='2288469' first='Jalen' last='Brown']</strong> - the freshman from Tosa West showed me leadership (yes that is right, a freshman showing leadership) in the game against DePere. He was a big reason Tosa jumped out to a 17 pt lead on the state camps. He moves the ball well and can drive good for his size. Later, after Tosa got caught in a rotation challenge and DePere made their push to come back. It wasn't until he came back in to help calm everyone down that they sealed a 2-point win. Other positives on the day were his finishing ability and his decision making on ball movement. </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>[player_tooltip player_id='1238625' first='Ben' last='Willihnganz']</strong> - DePere - he can go hard to the hoop when he wants to. I would like to see more of this attitude as this season unfolds. </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>[player_tooltip player_id='2291381' first='Tyler' last='Boesel']</strong> - showed me a new wrinkle to his game. He was always a weapon on offense. Also, he made the right reads on ball movement, and got a couple of easy follow-up buckets just from running the floor. I have had a couple of call from DIII's on this prospect as of late. </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>Jerimiah Johnson</strong> - Marquette - he is now an above the rim player. Had a two-handed dunk off of a one dribble one step move. Call me impressed. </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>Cam Henderson</strong> - Madison East - sweet looking left-handed jumper. </p> <!-- /wp:paragraph --> <!-- wp:paragraph --> <p><strong>Reese Jordan</strong> - Madison East - this 2027 prospect is on my watch list for that year, and he played well in the solid minutes he got. </p> <!-- /wp:paragraph -->

The final preview prior to the launch of the season, has for the last couple of year been the scrimmages at Kettle Moraine high School. They come after only a week of practice but yet are fun to watch and to consider for the upcoming season.

Wisconsin
Zach Kinziger

Zach Kinziger

WI
CG
HEIGHT 6'3"
POS CG
CLASS 2025
View Player
​
Zach
Kinziger CG
Class
2025
Height
6'3"
HS
De Pere
|
WI
Kettle Moraine Scrimmages
This prospect might just be better than we all already know. He is firmly entrenched as a leader...
Written by Michael Hansen
Wisconsin
Read more at PrepHoops.com
Prep Hoops

Zach Kinziger

Twitter
State: Wisconsin
School: De Pere
Club: Team Herro
Subscribe below to view this player's evaluation

Highlights

St. Thomas (MN)
Nolan Minessale

Nolan Minessale

WI
SF
HEIGHT 6'5"
POS SF
CLASS 2024
View Player
​
Nolan
Minessale SF
Class
2024
Height
6'5"
HS
Marquette
|
WI
Kettle Moraine Scrimmages
Usually when a scout talks about Nolan it is on the offensive end of the court. They point...
Written by Michael Hansen
St. Thomas (MN)
Read more at PrepHoops.com
Prep Hoops

Nolan Minessale

Instagram Twitter
State: Wisconsin
School: Marquette
Club: Chapman Basketball Academy
Subscribe below to view this player's evaluation

Highlights

Moses Long

Moses Long

WI
SG
HEIGHT 6'3"
POS SG
CLASS 2024
View Player
​
Moses
Long SG
Class
2024
Height
6'3"
HS
Wauwatosa West
|
WI
Kettle Moraine Scrimmages
I really liked what I saw in this prospect’s games on Saturday. Especially the game against Sheboygan North...
Written by Michael Hansen
Read more at PrepHoops.com
Prep Hoops

Moses Long

Instagram Twitter
State: Wisconsin
School: Wauwatosa West
Subscribe below to view this player's evaluation
LaMont Hamilton

LaMont Hamilton

WI
PG
HEIGHT 6'0"
POS PG
CLASS 2026
View Player
​
LaMont
Hamilton PG
Class
2026
Height
6'0"
HS
Racine St. Catherine's
|
WI
Kettle Moraine Scrimmages
For a sophomore, this is a special player and can make an impact when he is taking the...
Written by Michael Hansen
Read more at PrepHoops.com
Prep Hoops

LaMont Hamilton

Twitter
State: Wisconsin
School: Racine St. Catherine's
Club: Kevon Looney Power 5
Subscribe below to view this player's evaluation

Highlights

Oklahoma
Kai Rogers

Kai Rogers

HEIGHT 6'10"
POS C
CLASS 2025
View Player
​
Kai
Rogers C
Class
2025
Height
6'10"
HS
Overtime Elite
|
WI
Kettle Moraine Scrimmages
We often talk about this prospect, and it is well earned, because each time we do there is...
Written by Michael Hansen
Oklahoma
Read more at PrepHoops.com
Prep Hoops

Kai Rogers

Twitter
State: Wisconsin
School: Overtime Elite
Club: Wisconsin Playground Club
Subscribe below to view this player's evaluation

Highlights

Northern Iowa
Will Hornseth

Will Hornseth

WI
PF
HEIGHT 6'8"
POS PF
CLASS 2024
View Player
​
Will
Hornseth PF
Class
2024
Height
6'8"
HS
De Pere
|
WI
Kettle Moraine Scrimmages
This Northern Iowa commit played well over the two game I took in. At 6’8″ and his physical...
Written by Michael Hansen
Northern Iowa
Read more at PrepHoops.com
Prep Hoops

Will Hornseth

Instagram Twitter
State: Wisconsin
School: De Pere
Club: Wisconsin Blizzard
Subscribe below to view this player's evaluation
Prep Hoops

Access all of Prep Hoops

Continue reading this article and more.

Continue Reading
Already a subscriber? Log in

Rankings

298 Players Ranked

  • 1
    Zavier Zens

    Zavier Zens

    Wisconsin Lutheran

    Northern Iowa
  • 2
    Yusef Gray Jr.

    Yusef Gray Jr.

    West Allis Central

    Iowa State
  • 3
    Andrew Jensen

    Andrew Jensen

    Kaukauna

    DePaul
  • 4
    Amare Hereford

    Amare Hereford

    Beloit Memorial

  • 5
    Jakari Smith

    Jakari Smith

    Milwaukee Bradley Tech

View Full Rankings

Related Articles

  • WI Freshman Showcase: Team 9 Evaluations

    WI Freshman Showcase: Team 9 Evaluations

    Mark Miller • September 11

  • WI Sophomore ID Camp: Team 2 Evaluations

    WI Sophomore ID Camp: Team 2 Evaluations

    Max Wagner • September 11

  • WI Sophomore ID Camp: Team 3 Evaluations

    WI Sophomore ID Camp: Team 3 Evaluations

    Max Wagner • September 10

  • WI Freshman Showcase: Team 3 Evaluations

    WI Freshman Showcase: Team 3 Evaluations

    Max Wagner • September 10

  • Freshman Showcase (WI): Names To Know

    Freshman Showcase (WI): Names To Know

    Chris Robinson • September 10

Loading...
Home Wisconsin Kettle Moraine Scrimmages

Prep Network

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

Company

  • News
  • About
  • Careers
  • Store
  • Partner Interest Form

Resources

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

Support

  • My Account
  • Contact
  • Sitemap

© 2025 Prep Hoops. All rights reserved.