Beto O’Rourke’s official kickoff rallies aren’t happening until March 30, but he’s already drawing crowds at his meet-and-greets and town hall events. The enthusiastic response to his visits in South Carolina is another sign that he’s one of the top contenders in the Democratic primary race.

This photo is from his visit to USC on Friday, March 22, where he hosted a town hall in Columbia. The event was at 11:45 a.m. on Friday at the Russell House (Student Union.) About 2,000 people attended that event. (Some sources reported the crowd numbered several hundred, but the photos indicate a greater turnout than that.)

This is a campaign of, by, and for people. All people. Thank you, USC! An unforgettable town hall in Columbia. pic.twitter.com/0olukcfUpr — Beto O'Rourke (@BetoORourke) March 22, 2019

His campaign stops weren’t just fun and games — he faced tough questions from people attending each stop. During his stop at USC, one voter asked him: “If you’re not for reparations, why should I vote for you?” O’Rourke responded by discussing the importance of fixing racial inequities in public education and eliminating racist voter ID laws, The State reported.

He also addressed Medicare for All, saying that he backed an expansion of Medicare so that those in need would be guaranteed access to healthcare without creating a single-payer system. He also stressed ending the war on drugs and expunging the records of people with marijuana convictions.

Closing out an unforgettable first day in South Carolina with a town hall in Charleston. Energizing and refreshing — so many people joining together on a Friday night. pic.twitter.com/JJrpZ1aIU8 — Beto O'Rourke (@BetoORourke) March 22, 2019

These next photos are from a town hall he hosted on Friday night in Charleston at the Tradesman Brewing Company, where more than 1,000 attended, Counton2 reported.

@BetoORourke has started his speech paying his respects to the victims and survivors of the Mother Emanuel massacre and said he is fighting for universal background checks and stricter gun laws #chsnews @WCBD pic.twitter.com/shifMjhZ3Y — Deanne Roberts (@DeanneWCBD) March 22, 2019

His speech at the brewery also included time for a Q&A. A woman asked about the future of DACA children, Charleston City Paper reported. In Spanish, he told her: “Dreamers that are here are contributing to the success of America, the success of South Carolina, the success of Charleston. They need citizenship to continue at their maximum potential.”

During the event, an Afghanistan veteran asked O’Rourke about his plan for conflicts overseas. O’Rourke said that he would pull troops out of Afghanistan, although he didn’t have specific details. “As powerful as we are, we cannot determine the internal affairs of other countries,” he said.

After a day that was light on foreign policy, @BetoORourke gets pressed about Afghanistan by a local army vet. O’Rourke says he’d bring troops home. “You have the humility of understanding that, as powerful as we are, we cannot determine the internal affairs of other countries.” pic.twitter.com/7UUdHWukOz — Jamie Lovegrove (@jslovegrove) March 22, 2019

He also hosted a town hall in Orangeburg, South Carolina on Friday from 2:15-3:45 p.m. at the Student Center Plaza at South Carolina State University, which saw about 200 in attendance. He admitted to the crowd that he’s benefited from white privilege and wants to understand and help minorities who struggle, Star Tribune reported. He said: “I’m a white man who’s had privilege in my life. I’ve listened to those who have, and I’m listening to you today.”

Thank you to President Clark and the students at South Carolina State for hosting today's town hall in Orangeburg. A reminder of the incredible leadership, innovation, and strength that exists on HBCU campuses across this country. pic.twitter.com/ZWvDjiPrOs — Beto O'Rourke (@BetoORourke) March 22, 2019

And about 500 people attended his event in Rock Hill. He visited the site of the Friendship Nine sit-in and met William McLeod, who was arrested 60 years ago while protesting segregation, The State reported. He also visited Amelie’s French Bakery, which was so packed that some people had to listen from outside, WBTV reported.

500 in Rock Hill 2,000 at USC 200 at S.C. State 1,000 in Charleston And it’s only March. If y’all were wondering if @BetoORourke was the real deal, I think we have our answer. pic.twitter.com/y3yGkdVzxY — Tyler Jones (@TylerMJones) March 22, 2019

On Saturday, March 22, he hosted another town hall from 9:30 a.m.-11 a.m. Eastern at the Burke High School Gymnasium in Charleston. The town hall was co-hosted with Senator Marlon Kimpson. His voice hoarse from campaigning, he answered questions and addressed issues with the crowd.

I saw @BetoORourke's town hall in Charleston today! His voice is hoarse from all the campaigning! I can tell he and his staff/crew are putting in massive amounts of effort for this campaign. I hope it pays off in 2020! — Andre' Robinson (@AndreCRobinson) March 23, 2019

The gymnasium was packed for the town hall.

Here’s another video showing the people in attendance. Unlike most other candidates, O’Rourke has not had people standing behind him with signs during his stops so far.

.@BetoORourke wraps up his two-day campaign road trip through South Carolina with a town hall at @BurkeHighSC in Charleston. @FoxNewsMMR #2020Election pic.twitter.com/zSKr4jYoQj — Allie Raffa (@AllieRaffa) March 23, 2019

Here’s a photo of the crowd.

Saturday morning in Charleston – a healthy turnout for a town hall w/ @BetoORourke. And he almost has his voice back. pic.twitter.com/hiSBCf0xgE — Garrett Haake (@GarrettHaake) March 23, 2019

This was his last event in South Carolina, because he’s turning his attention to Las Vegas for Sunday. His first event is Cafe con Beto at 9 a.m. Pacific at Arandas Taqueria. The second event is a Las Vegas Meet and Greet at the Pour Coffeehouse at 12 p.m. Pacific.

You can stay updated on Beto O’Rourke news written by this article’s author by joining the email list here and choosing the Beto category.