Iraqi forces have cleared Islamic State militants from most of the northern town of Baiji and hope to drive them from the nearby oil refinery within days, a spokesman for the Shi'ite militias leading the fight said on Thursday.
Islamic State fighters swept into Baiji, about 190 km (120 miles) north of Baghdad, a year ago during their lightning takeover of Iraq's Sunni Muslim provinces. The town and refinery - the country's largest - have been battlefronts since then.
If the Shi'ite Hashd Shaabi fighters and Iraqi security forces regain full control around Baiji, it could help them push north towards the Islamic State-held city of Mosul and offset losses to the Sunni militants in the western province of Anbar.
Ahmed al-Asadi, a Hashd Shaabi spokesman, said there were still "pockets of resistance" to the northeast and northwest of the town, and Islamic State fighters were trying to launch attacks from Siniya village, 5 km to the west.
"I can say that over 90 percent of the district has been cleared and the remaining areas will be done in the coming hours," he told a news conference in Baghdad.
"The enemy still controls a part of the refinery, but the more important parts are under the control of the Hashd and other branches of the armed forces," he said.
"After these pockets of insurgents are cleared, the refinery will be surrounded from all sides and we will announce in the coming days the liberation of the refinery."
Control of the refinery has changed hands more than once since Islamic State launched its offensive in June last year, and the hardline Islamist fighters have in the past been able to fight back after conceding territory.
An officer at the regional military command centre said crude oil storage tanks and pipelines at the refinery had been damaged beyond repair, while natural gas tanks and processing facilities, as well as the power station providing electricity to the refinery, have also suffered damage.