“Tim Kaine is everything Donald Trump and Mike Pence are not,” Clinton told the audience before introducing her new running mate. “He is qualified to step into this job and lead on Day 1. And he is a progressive who likes to get things done.”

“In both of our families, faith wasn’t just something we talked about at church on Sundays, it was a call to serve others in every way that we can,” she continued.

“Make no mistake, behind that smile, Tim also has a backbone of steel. Just ask the NRA,” Clinton said in reference to Kaine’s F rating as Virginia’s governor. “Over and over again he has had the courage to stand up to the gun lobby in their own backyard.”

Kaine was the governor of the state during the Virginia Tech shooting, which he told the crowd was “the worst day of my life.”

“At every stage of Tim’s career, the people who know him best have voted to give him a promotion,” Clinton said of Kaine’s rise through every level of government from municipal, state to federal. “And that’s because he fights for the people he represents and he delivers real results. I can’t wait for all of you to get to know him the way that I have.”

“Bienvenidos a todos,” Kaine said, taking the stage. The phrase translates to “welcome to everyone.” “Somos Americanos todos,” he also said, which translates to, “We are all Americans,” a dig on Trump’s exclusionary, anti-immigrant policies.

CNN’s Wolf Blitzer reported on air that commentator Ana Nevarro was surprised by Kaine’s nearly perfect Spanish accent as he spoke to the crowd. Navaro admitted last week that no one short of the Virgin Mary herself could get her to vote for Donald Trump.

“Do you want a trash-talker president or a bridge-builder president?” Kaine said revving up the crowd.

Trump refrained from tweeting during the speech, but sent out a few rapid fire tweets prior to the speech, attacking Kaine on trade issues.