KYIV, Ukraine — Ben Hodges is a retired U.S. lieutenant general who visited Ukraine just days before Russia's invasion in February, when many expected a swift Russian victory.
"We were like, 'Hey, how come you guys aren't scurrying around getting ready?'" Hodges says. "And they're like, 'Well, you know, it's because we've been at war.'"
Back in 2014, Ukraine's military was no match for Russia's army when it launched its first incursion. But Ukraine has improved dramatically since then, Hodges says.
He witnessed this as commander of the U.S. Army Europe from 2014-17. The Americans sent troops to help train Ukraine's military. Now, he believes Ukraine is gaining the upper hand in this war.
"War is a test of will and it's a test of logistics," says Hodges, who's now at the Center for European Policy Analysis. "Clearly, the Ukrainians have the stronger will. And my assessment is that the logistical situation for them gets a little bit better every day, while for the Russians, it gets a little bit worse every day."
Russia invaded Ukraine three months ago, on Feb. 24. On almost every front, Russia has underachieved, while Ukraine has overachieved.
Yet both sides are now digging in, and neither appears capable of delivering a decisive blow right now. While both sides can point to successes and setbacks, there are growing signs the war could become a protracted stalemate.
The Ukrainian forces have excelled at playing strong defense. They've forced Russian retreats from the outskirts of Kyiv, the capital and the largest city, and more recently, they pushed the Russians back from Kharkiv, the second-largest city.
Russian President Vladimir Putin has scaled back his biggest aim, at least for now, of ousting Ukrainian President Volodymr Zelenskyy and his government and effectively taking over the country.
The main Russian goal now is to seize additional territory in the east and south of Ukraine, beyond what they've controlled for the past eight years.
Even these reduced goals are straining Russia's military, says Mick Ryan, a retired Australian general who's closely monitoring the war.
"If the Russians bog down and they're not able to get some kind of breakthrough in the coming weeks, the best the Russians can hope for is a long, drawn-out defensive campaign," says Ryan, the author of War Transformed.
Despite Russia's much larger army, Ukraine has neutralized the Russians on almost every front.
"They've been nibbling away at the Russians. They've been corroding them from within rather than taking them head on," he adds. "I think the Ukrainians are going to keep doing this."
So the prospect of a major Russian advance appears less and less likely. But the Russians have captured two important southern cities — Mariupol and Kherson. Their offensive in the east has gained ground, albeit at a high cost to both sides. Zelenskyy said recently that the heavy fighting is claiming the lives of 50 to 100 Ukrainian soldiers a day in the east.
The Russians now control an unbroken swathe of Ukrainian territory from the Donbas region in the east, to Crimea in the south.
Still, a major offensive to dislodge the Russians would be a tall order.
"They're pretty smart. They're pretty capable," he says of Ukraine's military. "But putting together a large operation, let's say, to send five brigades in an attempt to encircle and then capture the city of Kherson. On paper, maybe they're able to do it. My guess is probably. But it's a question mark."
The Ukrainians have answered many questions raised by skeptics with three months of fierce resistance.
Consider the air war. Russia has a much larger and more modern air force. Yet Ukraine says it has shot down 200 of those aircraft. Most Russian pilots now avoid Ukrainian air space and only fire their weapons long distance — from the skies over Russia or the Black Sea.
"In the last month, the occupiers have rarely flown over territory controlled by Ukraine. They're preserving their equipment," said Ukraine's Air Force spokesman, Lt. Col. Yuriy Ignat.
He says Ukraine still needs additional jet fighters from NATO countries to replace their small, aging Soviet-era planes. But NATO has declined to provide them.
The U.S. and its allies have sent Ukraine other key weapons, and Ukraine in many ways has more firepower today than when the war began. With President Biden authorizing a $40 billion U.S. aid package over the weekend, military and economic assistance will continue to flow.
Three months ago, Russia was widely assumed to have the resources to grind down Ukraine in an extended war. Now some think the opposite is true.
"I don't know that the Russians have enough of any of those essential ingredients to win a war of attrition," says Hodges, the former U.S. Army commander in Europe.
Still, Russia is trying to entrench itself in southern Ukraine. It is establishing new, pro-Russian governments. According to Russian media, Moscow is introducing the Russian ruble as the local currency and cutting Ukrainian television broadcasts in these areas.
Russia is also using its warship in the Black Sea to block Ukrainian exports — including wheat, corn and other agriculture products that are the foundation of Ukraine's economy.
Many of the predictions three months ago were way off the mark. Ryan, the retired Australian general, says that makes him hesitant to say what will come next.
"War is uncertain and you cannot predict the outcome," he says. "I can only go on past performance of the Ukrainians, and their past performance at the political and the military strategic level has been excellent."
Greg Myre is an NPR national security correspondent. Follow him @gregmyre1.