Situation Update (UTC)
Key reported developments
- Russian strikes hit Kyiv and Kyiv Oblast, with fires, damage and reported casualties. Kyiv Mayor Vitali Klitschko is cited by Север.Реалии as saying that on 28 September 2 people died and 26 were injured, 8 of them hospitalized; the State Emergency Service is cited for 1 injured person in Holosiivskyi district and 2 injured in Kyiv Oblast. Reported damage includes rocket debris in a courtyard in Solomianskyi district, strikes on an administrative building of an infrastructure facility and an educational institution building, a fire in a three-story non-residential building in Pecherskyi district, and a morning hit on a six-story residential building in Holosiivskyi district. (Event time reported as 28 September and morning 29 September; no exact UTC time supplied; Север.Реалии, source timestamp 2026-09-29 08:01:24 UTC; confidence MEDIUM for the reported strikes, fires and official casualty figures, LOW for specific target characterization.)
- The Ukrainian General Staff claimed strikes on 28 September and the night of 29 September 2026 against a 39N6 “Kasta” radar at Mangush, Donetsk Oblast; UAV control points at Kyrnosove and Novoaidar, Luhansk Oblast; ammunition depots at Druzhne, Luhansk Oblast, Novoiehorivka, Kharkiv Oblast, and Kachkarske, Donetsk Oblast; and a logistics depot at Komysh-Zoria, Zaporizhzhia Oblast. The post attached a stylized infographic rather than strike footage or battle-damage evidence. (Event time reported as 28 September and night of 29 September; Генеральний штаб ЗСУ, source timestamp 2026-09-29 07:40:01 UTC; confidence LOW.)
- Air-defense counts conflict. Russian-aligned channel Kotsnews relayed a claim that Ukrainian air forces counted 2 ballistic missiles, a “Zircon” missile and 152 drones, of which 82 were jet-powered, in the overnight attack, describing ballistic strikes on Kyiv and jet “Geran” drones against the oblast and south. Separately, Russian military correspondent Kotenok claimed 129 Ukrainian fixed-wing UAVs were shot down overnight over Belgorod, Bryansk, Kursk, Oryol and Smolensk oblasts, Crimea and the Black Sea. These are separate self-reports covering different directions and are not independent corroboration of each other. (Event time reported as overnight; Kotsnews, 2026-09-29 07:35:16 UTC; Военкор Котенок, 2026-09-29 07:43:12 UTC; confidence LOW for both counts.)
- Ternopil and Ternopil Oblast were attacked by jet drones, according to the regional military administration. Debris fell on the territory of an industrial object; no casualties had been reported at the time of posting. (Event time reported as 29 September morning; РБК-Україна, 2026-09-29 07:58:31 UTC, and Оперативний ЗСУ, 2026-09-29 08:05:01 UTC; confidence MEDIUM for the official regional statement, LOW for independent damage assessment.)
- An emergency power outage occurred in the central part of Rivne, according to the Rivne Oblast military administration, which said energy workers were already working to restore supply. (Оперативний ЗСУ, 2026-09-29 08:02:27 UTC; confidence MEDIUM.)
- The Ukrainian General Staff, relayed by Liveuamap Source, reported clashes on 28 September across multiple directions: Kursk and North Slobozhansky (Sumy) direction with 4 Russian assaults repelled; South Slobozhansky (Kharkiv) direction near Nova Kozacha, Dovhenke, Khrypuny, Riznykove and Lozova; Kupyansk direction near Kupyansk; Lyman direction near Ridkodub, Novoselivka, Drobysheve and Dibrova; Sloviansk direction near Yampil and Kryva Luka; Kramatorsk direction near Yurkivka; Kostiantynivka direction near Kostiantynivka, Novoselivka, Dovha Balka, Vilne, Kucheriv Yar and Zolotyy Kolodyaz; Pokrovsk direction near Svitle, Molodetske, Dobropillya, Novohryshyne, Serhiyivka and Novopavlivka; Oleksandrivka direction near Oleksandrohrad and Berezove; Huliaipole direction near Hirke, Huliaipilske, Charivne and Vozdvyzhivka; and Orikhiv direction near Novoandriyivka, Yurkivka, Pavlivka and Stepnohirsk. (Event time reported as yesterday, i.e. 28 September; Liveuamap Source relaying Ukrainian General Staff, source timestamps 2026-09-29 07:44:22–07:44:53 UTC; confidence MEDIUM as an official Ukrainian claim, LOW for independent verification.)
- The Russian Ministry of Defence published video it said showed a BM-21 “Grad” MLRS crew of the 44th Army Corps, Sever Group of Forces, destroying a Ukrainian UAV control post and manpower in Sumy region. The clip showed a launcher firing and a drone view of impacts, but the specific target type and claimed destruction were not independently verifiable from the footage. (Event time not stated; MoD Russia, source timestamp 2026-09-29 07:55:23 UTC; confidence MEDIUM for the release of footage, LOW for the claimed effect.)
- Pro-Russian channel Z комитет + карта СВО published a map album claiming updated control data for the Shostkinskoye direction, tagging Ulanovo, Yastrebishchina and Korenek. The accompanying analysis noted an anomalous date of 29 September 2025 in the material. (Event time given as 29 September 2025 in the source, which conflicts with the current date; Z комитет + карта СВО, source timestamp 2026-09-29 08:01:38 UTC; confidence LOW.)
Reported situation by area
Kyiv and Kyiv Oblast (new evidence). Reports describe Russian strikes overnight and on 28 September, with fires, residential and infrastructure damage, and casualties as attributed above. Kotsnews and Рыбарь additionally claimed specific targets: the Kyiv locomotive depot as a claimed storage site for FP-5 “Flamingo” cruise missiles and components; the “Bimobail” data center; the “Parkovy” data center; and the “Belogorodka” warehouse terminal in Kyiv Oblast as a claimed UAV production/storage site. These specific target claims are not independently verified by the supplied material. The Ukrainian Air Force separately warned at 07:36:20 UTC of a jet drone moving along the Kyiv Reservoir toward Dymer. Previously reported material on Kyiv from the prior situation report and daily report is historical baseline only and is not re-reported as new evidence here.
Ternopil Oblast (new evidence). The Ternopil regional administration reported a jet-drone attack, debris falling on an industrial object, and no reported casualties. No independent imagery or damage assessment was supplied in this batch.
Rivne (new evidence). An emergency power outage was reported in the central part of Rivne; restoration work was said to be underway. The cause was not stated in the supplied message.
Kharkiv Oblast / Vovchansk / South Slobozhansky (new evidence). The Ukrainian General Staff reported clashes on 28 September near Nova Kozacha, Dovhenke, Khrypuny, Riznykove and Lozova. Separately, БУТУСОВ ПЛЮС published a video it attributed to the reconnaissance company of the 57th Separate Motorized Infantry Brigade, described as clearing a wooded area of infiltrated enemy infantry in the Vovchansk direction, Kharkiv Oblast. The clip showed movement through forest with a suppressed weapon but no visible combat, enemies or casualties. (БУТУСОВ ПЛЮС, 2026-09-29 07:57:01 UTC; confidence MEDIUM-HIGH for unit branding and terrain in the analysis, UNVERIFIED for the specific tactical event.)
Sumy and Kursk / North Slobozhansky (new evidence). The Ukrainian General Staff reported that Ukrainian forces repelled 4 Russian assaults in the Kursk and North Slobozhansky (Sumy) direction on 28 September. The Russian Ministry of Defence separately claimed a Grad MLRS strike on a Ukrainian UAV control post in Sumy region. Z комитет + карта СВО also published a map claim for the Shostkinskoye direction involving Ulanovo, Yastrebishchina and Korenek; the previous situation report covered a DIVGEN/Colonelcassad claim about Ulanovo and Novovodyanoye, which is historical baseline here and not refreshed by this batch.
Luhansk, Donetsk and Kharkiv directions (new evidence). The Ukrainian General Staff listed clashes on 28 September in the Kupyansk, Lyman, Sloviansk, Kramatorsk, Kostiantynivka, Pokrovsk and Oleksandrivka directions. The same General Staff post claimed deep strikes in Luhansk, Donetsk, Kharkiv and Zaporizhzhia oblasts as detailed in the key developments. Separately, Народная милиция ДНР claimed that UAV operators of the 8th Guards Combined Arms Army destroyed Ukrainian communication antennas in Novoandreevka and Druzhkovka and a ground robotic complex near Starorayskoye, Donetsk Oblast. These Russian claims are single-source and unverified. (Народная милиция ДНР, 2026-09-29 08:00:28 UTC; confidence MEDIUM for release of footage, LOW for specific claims.)
Zaporizhzhia (new evidence). The Ukrainian General Staff reported clashes on 28 September in the Orikhiv direction near Novoandriyivka, Yurkivka, Pavlivka and Stepnohirsk, and in the Huliaipole direction near Hirke, Huliaipilske, Charivne and Vozdvyzhivka. The Ukrainian Air Force warned at 07:59:29 UTC of KAB attacks on Zaporizhzhia Oblast. Colonelcassad relayed a claim that Buryat soldiers and UAV crews of the 120th Guards Marine Division, part of the Vostok grouping, destroyed a dugout and personnel in the Zaporizhzhia direction. WarArchive published aerial footage it described as a Ukrainian Su-27 dropping a GBU bomb on a high-rise building in Nesterianka, Zaporizhzhia Oblast, with coordinates 47.498902,35.679013; the date was given as 09.2026. (Colonelcassad, 2026-09-29 07:45:24 UTC; WarArchive, 2026-09-29 08:03:38 UTC; confidence LOW for both specific claims.)
Odesa and Danube (new evidence). Kotsnews claimed strikes on the “Usatovo” substation on the northwestern edge of Odesa, a UAV production workshop in Velykodolynske, piers in Izmail for unloading military cargo, and a dry-cargo ship in Odesa port plus another en route. These are Russian-aligned claims without independent verification in this batch. Два майора relayed an unconfirmed report that shipping in Romania’s Sulina Canal was suspended from 26 September 2026 due to strong winds, with resumption expected no earlier than 2 October 2026; the same post noted no official Romanian confirmation, said monitoring resources showed shipping was not fully stopped, and cited AIS-style imagery showing continued traffic toward Danube ports. (Kotsnews, 2026-09-29 07:35:16 UTC; Два майора, 2026-09-29 07:50:10 UTC; confidence LOW for the closure claim, MEDIUM for the post’s own observation of continued traffic based on its attached imagery.)
Russian regions and domestic developments (new evidence). Военкор Котенок claimed 129 Ukrainian UAVs were downed overnight over Belgorod, Bryansk, Kursk, Oryol and Smolensk oblasts, Crimea and the Black Sea. TASS reported that a fire at a pyrotechnics production facility in Yaroslavl Oblast on 28 September destroyed two buildings, damaged nine nearby multi-apartment residential buildings, killed 14 people, injured one woman, led to the detention of the enterprise director, a criminal case, a regional state of emergency in Pereslavl-Zalessky district and a day of mourning on 30 September; the cause was preliminarily attributed to safety violations. This is a domestic Russian incident not described as combat-related in the supplied message. (ТАСС, 2026-09-29 07:41:06 UTC; confidence MEDIUM for the official Russian reporting, LOW for independent verification.)
Weather context (supplied, time-qualified). As of 2026-09-29T08:00 UTC, supplied observations for reference points near the contact line were: Kharkiv/Vovchansk 15.5 °C, partly cloudy, wind 3.5 m/s, 0.0 mm precipitation; Luhansk/Svatove 16.6 °C, overcast, 4.3 m/s, 0.0 mm; Donetsk/Pokrovsk 16.8 °C, partly cloudy, 5.6 m/s, 0.0 mm; Zaporizhzhia/Orikhiv 19.0 °C, clear, 6.7 m/s, 0.0 mm; Kherson 18.6 °C, mainly clear, 6.4 m/s, 0.0 mm. No supplied observation covers Ternopil, Rivne, Ulanovo, Yastrebishchina, Korenek, Nesterianka or the Russian regions named in this batch.
Reported strikes and air-defense activity
- Russian strikes on Ukraine. Reports describe overnight and morning strikes on Kyiv and Kyiv Oblast with fires, damage and casualties. Ternopil and Ternopil Oblast were reported attacked by jet drones, with debris falling on an industrial object and no casualties reported. Kotsnews and Рыбарь claimed specific Kyiv targets, including the locomotive depot, Bimobail and Parkovy data centers, and the Belogorodka warehouse terminal; these claims were not independently verified. Kotsnews also claimed strikes on Odesa-area infrastructure including the Usatovo substation, a UAV workshop in Velykodolynske, Izmail piers and a dry-cargo ship. The Ukrainian Air Force issued warnings about a jet drone along the Kyiv Reservoir toward Dymer and about KABs on Zaporizhzhia Oblast. The Russian Ministry of Defence claimed a Grad MLRS strike on a Ukrainian UAV control post in Sumy region.
- Ukrainian strikes and claimed deep strikes. The Ukrainian General Staff claimed strikes on the Kasta radar at Mangush, UAV control points at Kyrnosove and Novoaidar, ammunition depots at Druzhne, Novoiehorivka and Kachkarske, and a logistics depot at Komysh-Zoria. The same post provided only a stylized infographic. WarArchive published footage it described as a Su-27 GBU strike on a high-rise in Nesterianka, Zaporizhzhia Oblast. The 1st Separate Center for Unmanned Systems released an anniversary video claiming long-range drone strikes, including on Russian territory and Moscow; the video aggregates news headlines and map graphics and does not independently prove each claimed strike. (Николаевский Ванёк, 2026-09-29 08:04:17 UTC; confidence MEDIUM for the unit’s public messaging, LOW for each claimed strike.)
- Air-defense counts. The Ukrainian Air Force count relayed by Kotsnews and the Russian count relayed by Kotenok are separate, single-source self-reports. They cover different sets of targets and directions and cannot be treated as corroborating each other. No independent confirmation of either count was supplied.
Reported Russian activity
- The Russian Ministry of Defence released video it described as a BM-21 Grad MLRS crew of the 44th Army Corps, Sever Group of Forces, striking a Ukrainian UAV control post and manpower in Sumy region.
- Народная милиция ДНР claimed UAV operators of the 8th Guards Combined Arms Army destroyed Ukrainian communication antennas in Novoandreevka and Druzhkovka and a ground robotic complex near Starorayskoye, Donetsk Oblast.
- Colonelcassad relayed a claim that Buryat soldiers and UAV crews of the 120th Guards Marine Division, part of the Vostok grouping, destroyed a dugout and personnel in the Zaporizhzhia direction.
- Военкор Котенок claimed 129 Ukrainian UAVs were downed overnight over Belgorod, Bryansk, Kursk, Oryol and Smolensk oblasts, Crimea and the Black Sea.
- Z комитет + карта СВО published a map album claiming updated control data for the Shostkinskoye direction, tagging Ulanovo, Yastrebishchina and Korenek; the material carried an anomalous date of 29 September 2025.
- Kotsnews and Рыбарь published Russian-aligned accounts claiming strikes on specific Kyiv and Odesa-area targets and framing them as part of a campaign against Ukrainian military infrastructure.
- Два майора relayed an unconfirmed claim that Romania’s Sulina Canal was closed to shipping from 26 September 2026 due to strong winds, while noting no official Romanian confirmation and presenting AIS-style imagery that suggested traffic continued.
- TASS reported a major fire at a pyrotechnics facility in Yaroslavl Oblast on 28 September, with 14 dead, one injured woman, nine damaged residential buildings, the enterprise director detained, a criminal case, a regional state of emergency and a day of mourning on 30 September. The reported preliminary cause was a safety violation, not combat action.
- SOTA reported that Estonia accused Russia of arson at the Milrem Robotics plant in Lasnamäe on the night of 15 August; the Estonian foreign minister is quoted as saying suspects were arrested and that the act was part of a broader Russian campaign in Europe. This is an accusation relayed by one source and not independently corroborated in this batch.
Reported Ukrainian activity
- The Ukrainian General Staff claimed strikes on Russian military targets in Donetsk, Luhansk, Kharkiv and Zaporizhzhia oblasts on 28 September and the night of 29 September, including a 39N6 Kasta radar, UAV control points, ammunition depots and a logistics depot.
- The Ukrainian General Staff, relayed by Liveuamap Source, reported clashes on 28 September across the Kursk/North Slobozhansky, South Slobozhansky, Kupyansk, Lyman, Sloviansk, Kramatorsk, Kostiantynivka, Pokrovsk, Oleksandrivka, Huliaipole and Orikhiv directions, including 4 Russian assaults repelled in the Kursk and North Slobozhansky direction.
- БУТУСОВ ПЛЮС published a video attributed to the reconnaissance company of the 57th Separate Motorized Infantry Brigade, described as clearing a wooded area in the Vovchansk direction, Kharkiv Oblast; the clip showed movement and a suppressed weapon but no visible combat or casualties.
- The 1st Separate Center for Unmanned Systems released an anniversary video describing its evolution from an experimental UAV battalion in 2022 to the 14th Separate Regiment and then to the current center, and claiming long-range strike operations. The video is a unit-produced montage and does not independently verify each claimed strike.
- WarArchive published aerial footage it described as a Ukrainian Su-27 dropping a GBU bomb on a high-rise building in Nesterianka, Zaporizhzhia Oblast, where it said Russian military personnel were located.
- The Ukrainian Air Force issued public warnings about a jet drone along the Kyiv Reservoir toward Dymer and about KAB attacks on Zaporizhzhia Oblast.
- The Ternopil and Rivne regional administrations reported a jet-drone attack with debris on an industrial object and an emergency power outage in central Rivne, respectively.
- Север.Реалии relayed official Ukrainian statements about casualties and damage in Kyiv and Kyiv Oblast.
Civilian and infrastructure impact
- Kyiv and Kyiv Oblast. Reported civilian impact includes 2 dead and 26 injured, with 8 hospitalized, on 28 September per Kyiv Mayor Vitali Klitschko as relayed by Север.Реалии; 1 injured in Holosiivskyi district and 2 injured in Kyiv Oblast per the State Emergency Service; fires in Solomianskyi, Pecherskyi and Holosiivskyi districts; damage to an administrative building of an infrastructure facility and an educational institution building; and a hit on a six-story residential building. These figures are attributed to Ukrainian officials and are not independently verified in this batch.
- Ternopil Oblast. Debris from a jet-drone attack fell on an industrial object; no casualties had been reported at the time of posting.
- Rivne. An emergency power outage affected the central part of the city; restoration work was reported underway.
- Yaroslavl Oblast, Russia. TASS reported 14 dead and one injured woman, destruction of two buildings at a pyrotechnics production site, damage to nine nearby multi-apartment residential buildings, a regional state of emergency in Pereslavl-Zalessky district, and a day of mourning on 30 September. This is reported as a domestic incident, not attributed to combat in the supplied message.
- Odesa and Danube logistics. Kotsnews claimed strikes on the Usatovo substation, a UAV workshop in Velykodolynske, Izmail piers and a dry-cargo ship; these claims were not independently verified. Два майора relayed an unconfirmed Sulina Canal closure claim while noting that monitoring imagery suggested shipping continued.
- Retail and utilities. Операция Z relayed a Ukrainian Telegraf article and an unnamed ATB employee quote claiming shortages of buckwheat and some hygiene products; the causal link to Russian strikes was asserted by the channel and not demonstrated by the supplied screenshot. Олександр Вілкул reported that electricity supply for the Kryvbas industrial park in Kryvyi Rih had to be replanned because of Russian strikes and made more diversified; the post is promotional and its governance, funding and investment claims were not independently verifiable from the supplied media.
Information environment and disputed claims
- Conflicting air-defense and strike claims. The Ukrainian Air Force count relayed by Kotsnews and the Russian count relayed by Kotenok are separate self-reports. Neither is independently corroborated, and they should not be combined into a single tally.
- Circular and single-source territorial claims. The Z комитет + карта СВО map update for Ulanovo, Yastrebishchina and Korenek is a single partisan source with an anomalous date of 29 September 2025. The prior situation report’s DIVGEN/Colonelcassad claim about Ulanovo and Novovodyanoye is historical baseline only and is not refreshed by this batch.
- Specific target claims on Kyiv and Odesa. Kotsnews and Рыбарь asserted that strikes hit the Kyiv locomotive depot as a claimed FP-5 “Flamingo” storage site, the Bimobail and Parkovy data centers, the Belogorodka warehouse terminal, the Usatovo substation and other Odesa-area targets. The supplied photos and video show fires and damage consistent with strikes but do not independently confirm the named targets, cargo or weapon types. One image in the Рыбарь material carried a Ukrainian channel watermark, indicating possible reuse of local Ukrainian reporting.
- General Staff deep-strike claims. The Ukrainian General Staff post is an official belligerent claim with a stylized infographic rather than battle-damage evidence. The specific hits, target types and effects remain unverified.
- Russian MoD and DPR militia claims. The Grad MLRS strike in Sumy region and the DPR militia drone strikes in Donetsk Oblast are self-reported by Russian or Russian-aligned sources; the supplied footage does not independently confirm the specific target types, locations or claimed destruction.
- WarArchive Su-27 strike claim. The Nesterianka footage shows a large explosion and structural collapse in a village setting, but the aircraft type, weapon type and presence of Russian personnel are based on the caption, not visible evidence. The date was given as 09.2026.
- ATB shortage claim. Операция Z used a Telegraf screenshot to assert strike-caused shortages of buckwheat, shampoos, deodorants and baby diapers. The screenshot’s headline referred to one popular product not delivered for about a week and a half; the causal link to strikes and the broader product list were added by the Telegram channel and were not demonstrated by the supplied image.
- Sulina Canal claim. Два майора relayed an unconfirmed closure claim based on a single industry manager’s statement, noted the absence of official Romanian confirmation, and presented AIS-style imagery suggesting continued traffic. The post also speculated about a possible deception effort, which is not evidence.
- Estonian accusation. SOTA relayed Estonia’s accusation that Russia was behind the 15 August arson at the Milrem Robotics plant; the quoted Estonian foreign minister said suspects were arrested and linked the act to a broader campaign. This is a single-source accusation and is not independently corroborated in this batch.
- Domestic Russian messaging. SOTA reported Murmansk Oblast mobile tariffs “Narodny” and “Narodny+” with part of the fee going to the “Vsyo dlya Pobedy!” fund; the operator was not named. Кремлевский шептун published a commentary arguing that the Ukrainian conflict has accelerated German rearmament. Colonelcassad published an opinion claiming U.S. strategic oil reserves had fallen to 1982 levels. Janus Putkonen published a Finnish-language meme mocking Western media predictions of Russian mass mobilization. These are opinion, advocacy or satirical items, not evidence of battlefield events.
- Memorial and social-media material. Alex Parker Returns posted photos of Ukrainian military memorials, including a Patriot-themed grave, with ambiguous Russian-language commentary. The post’s intent and any implied claims about cause of death or unit affiliation are unverified.
- Analytic support. Supplied Dempster–Shafer belief values indicate high uncertainty and competing information-warfare hypotheses, but they are analytic support only and are not treated here as independent corroboration of any event.
Evidence limitations and unresolved questions
- Most operational claims in this batch are single-source and lack independent corroboration: the Ukrainian General Staff deep-strike claims; the Russian MoD Grad strike claim; the DPR militia drone-strike claims; Colonelcassad’s Vostok claim; Kotsnews and Рыбарь target claims; Z комитет’s map update; the Estonian arson accusation; the ATB shortage claim; the Sulina Canal closure claim; and the WarArchive Su-27 strike claim.
- No battle-damage assessment, geolocated imagery or independent confirmation was supplied for the claimed strikes on the Kasta radar, UAV control points, ammunition depots, logistics depot, Grad target, DPR militia targets, Su-27 target, or the specific Kyiv and Odesa-area targets.
- Reported casualty figures for Kyiv and Kyiv Oblast are attributed to Ukrainian officials and emergency services and are not independently verified in this batch. The Yaroslavl Oblast death and injury figures are attributed to Russian official reporting and are not independently verified here.
- Event times are often imprecise or missing. Many developments are described only as “overnight” or “yesterday” without exact UTC times. Some dates are anomalous: the Z комитет map material is dated 29 September 2025; the WarArchive post gives 09.2026; and one analytic note in the batch incorrectly treated 29 September 2026 as a future date relative to a May 2026 system clock, which conflicts with the current UTC date of 2026-09-29. These discrepancies are noted, not resolved.
- The previous situation report is used here only as a historical baseline; its events are not re-reported as new and are not treated as corroboration for anything in this batch. Silence in the new messages does not establish that any unmentioned sector, strike, or casualty event did not occur.
- Supplied weather observations cover only Kharkiv/Vovchansk, Luhansk/Svatove, Donetsk/Pokrovsk, Zaporizhzhia/Orikhiv and Kherson as of 2026-09-29T08:00 UTC. No supplied weather observation covers Ternopil, Rivne, Nesterianka, Ulanovo, Yastrebishchina, Korenek or the Russian regions named in this batch.
