NTSB investigations, HI
156 cases where the phase of flight was Landing.
Cases per year
| 1964 | 7 |
|---|---|
| 1965 | 4 |
| 1966 | 10 |
| 1967 | 9 |
| 1968 | 6 |
| 1969 | 7 |
| 1971 | 4 |
| 1972 | 4 |
| 1973 | 1 |
| 1974 | 1 |
| 1976 | 1 |
| 1977 | 4 |
| 1978 | 2 |
| 1979 | 3 |
| 1980 | 6 |
| 1981 | 4 |
| 1982 | 3 |
| 1984 | 2 |
| 1985 | 1 |
| 1986 | 1 |
| 1987 | 1 |
| 1988 | 2 |
| 1989 | 1 |
| 1991 | 2 |
| 1992 | 2 |
| 1994 | 3 |
| 1995 | 2 |
| 1996 | 2 |
| 1997 | 2 |
| 1998 | 3 |
| 1999 | 2 |
| 2000 | 7 |
| 2001 | 1 |
| 2002 | 1 |
| 2003 | 2 |
| 2004 | 5 |
| 2005 | 3 |
| 2006 | 2 |
| 2008 | 5 |
| 2011 | 1 |
| 2012 | 3 |
| 2013 | 1 |
| 2014 | 1 |
| 2015 | 3 |
| 2016 | 4 |
| 2018 | 2 |
| 2019 | 1 |
| 2020 | 3 |
| 2021 | 2 |
| 2022 | 2 |
| 2023 | 1 |
| 2024 | 1 |
| 2025 | 1 |
| 2026 | 2 |
Where
Latest cases
Query with SQL
duckdb -csv -c "WITH phase_names(main, name) AS (VALUES (100, 'Prior to flight'), (150, 'Standing'), (200, 'Pushback/towing'), (250, 'Taxi'), (300, 'Takeoff'), (350, 'Initial climb'), (400, 'Enroute'), (450, 'Maneuvering'), (500, 'Approach'), (550, 'Landing'), (600, 'Emergency descent'), (650, 'Uncontrolled descent'), (700, 'Post-impact'), (750, 'After landing'), (800, 'Other'), (990, 'Unknown')),
crosswalk(code, main, name) AS (VALUES (500, 150, 'Standing'), (501, 150, 'Standing - pre-flight'), (502, 150, 'Standing - starting engine(s)'), (503, 150, 'Standing - engine(s) operating'), (504, 150, 'Standing - engine(s) not operating'), (505, 150, 'Standing - idling rotors'), (510, 250, 'Taxi'), (511, 200, 'Taxi - pushback/tow'), (512, 250, 'Taxi - to takeoff'), (513, 250, 'Taxi - from landing'), (514, 250, 'Taxi - aerial'), (520, 300, 'Takeoff'), (521, 300, 'Takeoff - roll/run'), (522, 350, 'Takeoff - initial climb'), (523, 300, 'Takeoff - aborted'), (530, 400, 'Climb'), (531, 400, 'Climb - to cruise'), (540, 400, 'Cruise'), (541, 400, 'Cruise - normal'), (542, 400, 'Maneuvering - holding (IFR)'), (550, 400, 'Descent'), (551, 400, 'Descent - normal'), (552, 600, 'Descent - emergency'), (553, 650, 'Descent - uncontrolled'), (560, 500, 'Approach'), (561, 500, 'Approach - VFR pattern - downwind'), (562, 500, 'Approach - VFR pattern - base turn'), (563, 500, 'Approach - VFR pattern - base leg/base to final'), (564, 500, 'Approach - VFR pattern - final approach'), (565, 500, 'Go-around (VFR)'), (566, 500, 'Approach - IAF to FAF/outer marker (IFR)'), (567, 500, 'Approach - FAF/outer marker to threshold (IFR)'), (568, 500, 'Circling (IFR)'), (569, 500, 'Missed approach (IFR)'), (570, 550, 'Landing'), (571, 550, 'Landing - flare/touchdown'), (572, 550, 'Landing - roll'), (573, 550, 'Landing - aborted'), (574, 550, 'Emergency landing'), (575, 550, 'Emergency landing after takeoff'), (576, 600, 'Emergency descent/landing'), (580, 450, 'Maneuvering'), (581, 450, 'Maneuvering - aerial application'), (582, 450, 'Maneuvering - turn to reverse direction'), (583, 450, 'Maneuvering - turn to landing area (emergency)'), (590, 450, 'Hover'), (591, 450, 'Hover - in ground effect'), (592, 450, 'Hover - out of ground effect'), (600, 800, 'Other'), (610, 990, 'Unknown')),
current_codes AS (
SELECT e.case_mkey, TRY_CAST(e.\"tier1Number\" AS INTEGER) AS code,
row_number() OVER (PARTITION BY e.case_mkey ORDER BY coalesce(e.\"isDefiningEvent\", false) DESC, e.position) AS n
FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e
WHERE e.aircrafts_position = 1 AND e.\"tier1Number\" GLOB '[1-9][0-9]*'
AND (e.\"isDefiningEvent\" OR e.case_mkey IN (SELECT \"mKey\" FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' WHERE \"isPre1982\"))
),
phases AS (
SELECT case_mkey, 'current' AS scheme, code, CASE WHEN code >= 990 THEN 990 ELSE code // 50 * 50 END AS main
FROM current_codes WHERE n = 1
UNION ALL
SELECT o.case_mkey, 'older', o.\"phaseOfFlightCode\", w.main
FROM 'https://openairdocs.org/data/latest/ntsb_occurrences.parquet' o JOIN crosswalk w ON w.code = o.\"phaseOfFlightCode\"
WHERE o.aircrafts_position = 1 AND o.\"occurrenceNumber\" = 1 AND o.case_mkey NOT IN (SELECT case_mkey FROM current_codes)
),
case_phases AS (
SELECT p.*, c.\"eventDate\", c.\"highestInjuryLevel\" = 'Fatal' AS fatal, a.aircraft_model_code
FROM phases p JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = p.case_mkey
LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = p.case_mkey AND a.position = 1
WHERE c.\"eventDate\" >= DATE '1962-01-01' AND p.main IN (SELECT main FROM phase_names)
)
SELECT c.\"ntsbNumber\", c.\"eventDate\", c.\"eventType\", c.\"eventCity\", c.\"eventStateOrRegion\", a.n_number, a.\"aircraftMake\", a.\"aircraftModel\", c.\"highestInjuryLevel\", c.\"totalFatal\", c.\"completionStatus\", c.report_url
FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = c.\"mKey\" AND a.position = 1
WHERE c.\"eventStateOrRegion\" = 'HI' AND c.\"eventCountry\" = 'USA'
AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 550)
ORDER BY c.\"eventDate\" DESC, c.\"ntsbNumber\" DESC"Prints the whole list as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.
WITH phase_names(main, name) AS (VALUES (100, 'Prior to flight'), (150, 'Standing'), (200, 'Pushback/towing'), (250, 'Taxi'), (300, 'Takeoff'), (350, 'Initial climb'), (400, 'Enroute'), (450, 'Maneuvering'), (500, 'Approach'), (550, 'Landing'), (600, 'Emergency descent'), (650, 'Uncontrolled descent'), (700, 'Post-impact'), (750, 'After landing'), (800, 'Other'), (990, 'Unknown')),
crosswalk(code, main, name) AS (VALUES (500, 150, 'Standing'), (501, 150, 'Standing - pre-flight'), (502, 150, 'Standing - starting engine(s)'), (503, 150, 'Standing - engine(s) operating'), (504, 150, 'Standing - engine(s) not operating'), (505, 150, 'Standing - idling rotors'), (510, 250, 'Taxi'), (511, 200, 'Taxi - pushback/tow'), (512, 250, 'Taxi - to takeoff'), (513, 250, 'Taxi - from landing'), (514, 250, 'Taxi - aerial'), (520, 300, 'Takeoff'), (521, 300, 'Takeoff - roll/run'), (522, 350, 'Takeoff - initial climb'), (523, 300, 'Takeoff - aborted'), (530, 400, 'Climb'), (531, 400, 'Climb - to cruise'), (540, 400, 'Cruise'), (541, 400, 'Cruise - normal'), (542, 400, 'Maneuvering - holding (IFR)'), (550, 400, 'Descent'), (551, 400, 'Descent - normal'), (552, 600, 'Descent - emergency'), (553, 650, 'Descent - uncontrolled'), (560, 500, 'Approach'), (561, 500, 'Approach - VFR pattern - downwind'), (562, 500, 'Approach - VFR pattern - base turn'), (563, 500, 'Approach - VFR pattern - base leg/base to final'), (564, 500, 'Approach - VFR pattern - final approach'), (565, 500, 'Go-around (VFR)'), (566, 500, 'Approach - IAF to FAF/outer marker (IFR)'), (567, 500, 'Approach - FAF/outer marker to threshold (IFR)'), (568, 500, 'Circling (IFR)'), (569, 500, 'Missed approach (IFR)'), (570, 550, 'Landing'), (571, 550, 'Landing - flare/touchdown'), (572, 550, 'Landing - roll'), (573, 550, 'Landing - aborted'), (574, 550, 'Emergency landing'), (575, 550, 'Emergency landing after takeoff'), (576, 600, 'Emergency descent/landing'), (580, 450, 'Maneuvering'), (581, 450, 'Maneuvering - aerial application'), (582, 450, 'Maneuvering - turn to reverse direction'), (583, 450, 'Maneuvering - turn to landing area (emergency)'), (590, 450, 'Hover'), (591, 450, 'Hover - in ground effect'), (592, 450, 'Hover - out of ground effect'), (600, 800, 'Other'), (610, 990, 'Unknown')),
current_codes AS (
SELECT e.case_mkey, TRY_CAST(e."tier1Number" AS INTEGER) AS code,
row_number() OVER (PARTITION BY e.case_mkey ORDER BY coalesce(e."isDefiningEvent", false) DESC, e.position) AS n
FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e
WHERE e.aircrafts_position = 1 AND e."tier1Number" GLOB '[1-9][0-9]*'
AND (e."isDefiningEvent" OR e.case_mkey IN (SELECT "mKey" FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' WHERE "isPre1982"))
),
phases AS (
SELECT case_mkey, 'current' AS scheme, code, CASE WHEN code >= 990 THEN 990 ELSE code // 50 * 50 END AS main
FROM current_codes WHERE n = 1
UNION ALL
SELECT o.case_mkey, 'older', o."phaseOfFlightCode", w.main
FROM 'https://openairdocs.org/data/latest/ntsb_occurrences.parquet' o JOIN crosswalk w ON w.code = o."phaseOfFlightCode"
WHERE o.aircrafts_position = 1 AND o."occurrenceNumber" = 1 AND o.case_mkey NOT IN (SELECT case_mkey FROM current_codes)
),
case_phases AS (
SELECT p.*, c."eventDate", c."highestInjuryLevel" = 'Fatal' AS fatal, a.aircraft_model_code
FROM phases p JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c."mKey" = p.case_mkey
LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = p.case_mkey AND a.position = 1
WHERE c."eventDate" >= DATE '1962-01-01' AND p.main IN (SELECT main FROM phase_names)
)
SELECT c."ntsbNumber", c."eventDate", c."eventType", c."eventCity", c."eventStateOrRegion", a.n_number, a."aircraftMake", a."aircraftModel", c."highestInjuryLevel", c."totalFatal", c."completionStatus", c.report_url
FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = c."mKey" AND a.position = 1
WHERE c."eventStateOrRegion" = 'HI' AND c."eventCountry" = 'USA'
AND c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 550)
ORDER BY c."eventDate" DESC, c."ntsbNumber" DESCRun it at the DuckDB prompt, or in any tool that reads Parquet over HTTPS. More ways to query the release are on Use the data.
NTSB WPR26LA365Accident · No injuriesClass 4 · LimitedInvestigation openCessna 172R · Ho'olehua, HINTSB ANC26LA017Accident · No injuriesClass 4 · LimitedInvestigation openPiper PA-18 · Waialua, HINTSB ANC25LA050Accident · No injuriesClass 4 · LimitedFinal reportShort Bros SD3-60 · Honolulu, HIThe pilots’ failure to extend the landing gear prior to landing. Contributing to the accident was the pilots’ failure to complete the Before Landing checklist.NTSB ANC24LA039Accident · No injuriesClass 4 · LimitedFinal reportRobinson Helicopter R22 Beta · Kailua-Kona, HIThe flight instructor’s failure to implement the correct action for low rotor RPM recovery.NTSB ANC24LA010Accident · No injuriesClass 4 · LimitedFinal reportCessna 172 · Kapolei, HIThe first pilot’s failure to maintain a stabilized approach, in gusty crosswind conditions, in an environment favoring wake turbulence.NTSB ANC22LA046Accident · No injuriesClass 4 · LimitedFinal reportRockwell International 114 · Kailua-Kona, HIThe failure of the hydraulic power supply’s electric motor due to wear, which resulted in the left main landing gear and nose gear not fully extending and locking into place during landing. Contributing to the accident was the pilot's failure to adequately…NTSB ANC22FA018Accident · 4 fatalClass 3 · FieldFinal reportSikorsky S-61N · Kekaha, HIThe improper installation of the fore/aft primary servo by maintenance personnel, which resulted in the attaching hardware backing out and which subsequently rendered the helicopter uncontrollable. Contributing to the accident was the company’s quality…NTSB DCA22LA004Accident · No injuriesClass 4 · LimitedFinal reportAirbus A321-271N · Honolulu, HIThe captain’s improper landing flare, which resulted in an excessive sink rate and subsequent hard landing.NTSB ANC21LA035Accident · Minor injuriesClass 4 · LimitedFinal reportCessna 172P · Lanai City, HIThe solo student pilot’s failure to maintain directional control during landing in crosswind conditions, which resulted in a runway excursion and a nose-over.NTSB ANC20CA034Accident · Minor injuriesData collectionFinal reportCessna 172 · Kahului, HIThe student pilot's failure to avoid wake turbulence while landing behind a heavy jet airplane, which resulted in a loss of roll control and subsequent hard landing.NTSB ANC20LA028Accident · Minor injuriesClass 3 · LimitedFinal reportEurocopter EC130 · Kalapana, HIA loss of control due to the fatigue fracture of a tail rotor fenestron blade due to the geometry of the water drain hole positioning on the rib.NTSB ANC20CA027Accident · No injuriesData collectionFinal reportCessna TP206 · Kahului, HIThe pilot's improper landing flare in gusting crosswind conditions, which resulted in the airplane porpoising and a subsequent a loss of directional control, runway excursion, and nose-over.NTSB ANC19LA046Accident · No injuriesClass 3 · LimitedFinal reportCessna 208B · Lahaina, HIThe pilots’ failure to maintain a proper approach speed and their decision to continue the approach for landing, which resulted in the airplane landing long and a subsequent runway overrun.NTSB GAA19CA059Accident · No injuriesData collectionFinal reportEugene Wells Dragon Fly-B · Kailua/Kona, HIThe pilot's failure to maintain directional control during landing in a crosswind. Contributing to the accident was the pilot’s lack of experience in tailwheel airplanes for which he did not have an endorsement.NTSB WPR18LA065Accident · No injuriesLimited investigationFinal reportJust JA30 Superstol · Kapolei, HIThe collapse and separation of the right landing gear suspension strut due to overload.NTSB GAA17CA094Accident · No injuriesData collectionFinal reportSchauer William A JR Starduster TOO SA300 · Kapolei, HIThe pilot's failure to maintain directional control during the landing roll.NTSB GAA17CA025Accident · No injuriesData collectionFinal reportCessna 172 · Kapolei, HIThe pilot’s use of an excessive pitch attitude during the landing flare, which resulted in a bounced landing.NTSB WPR16LA168Accident · No injuriesLimited investigationFinal reportRobinson R44 · Kailua/Kona, HIAn on-ground upset for reasons that could not be determined because postaccident examination of the helicopter revealed no evidence of mechanical malfunctions or failures that would have precluded normal operation.NTSB GAA16CA472Accident · No injuriesData collectionFinal reportCessna 172 · Kahului, HIThe pilot's incorrect pitch control during the landing flare, which resulted in a porpoise and hard landing.NTSB WPR15LA202Accident · No injuriesLimited investigationFinal reportShort Bros SD3 60 · Kapolei, HIThe pilots’ failure to extend the landing gear before landing. Contributing to the accident was the pilots’ failure to complete the Before Landing checklist.NTSB GAA15CA147Accident · Minor injuriesData collectionFinal reportRobinson Helicopter R22 Beta · Kailua-Kona, HIThe flight instructor's decision to conduct a high altitude pinnacle landing without adequate power, which resulted in the helicopter impacting terrain during the approach. Contributing to the accident was the density altitude at the high altitude pinnacle…NTSB WPR15LA148Accident · No injuriesLimited investigationFinal reportCessna 206H · Honolulu, HIA blown nose landing gear tire during landing, which resulted in the pilot’s inability to maintain directional control.NTSB WPR14CA187Accident · No injuriesData collectionFinal reportPiper PA28 - 181 · Ho'olehua, HIThe pilot's improper landing flare, which resulted in a hard landing.NTSB WPR14LA045Accident · Minor injuriesLimited investigationFinal reportCessna Ector 305A · Mokuleia, HIA landing gear brake malfunction during the landing for reasons that could not be determined because postaccident examination did not reveal any anomalies that would have precluded normal operation.NTSB WPR12CA134Accident · No injuriesData collectionFinal reportBurkhart Grob G-103A Twin II Acro · Dillingham, HIThe student pilot’s inadequate recovery from a bounced landing.NTSB WPR12CA088Accident · No injuriesData collectionFinal reportCessna 172S · Mokuleia, HIThe pilot's improper landing flare and inadequate recovery from a bounced landing.NTSB WPR12CA082Accident · No injuriesData collectionFinal reportCessna 172P · Honolulu, HIThe student pilot’s improper landing flare and inadequate directional control while performing an aborted landing.NTSB WPR12CA056Accident · No injuriesData collectionFinal reportRobinson Helicopter R22 Beta · Waipahu, HIThe certified flight instructor's delayed remedial action and inadequate supervision during a practice autorotation. Contributing to the accident was the student pilot's excessive application of the throttle.NTSB WPR09IA070Incident · No injuriesIncident investigationFinal reportMD Helicopter MD 900 · Kamuela, HIThe separation of the endplate bolts for undetermined reasons, resulting in an in-flight separation of the right endplate. Contributing to the accident was the manufacturer's failure to provide sufficient guidance for endplate bolt installation.NTSB WPR09CA045Accident · Minor injuriesData collectionFinal reportPiper PA-30 · Kona, HIThe pilot's inadequate compensation for the crosswind conditions and failure to maintain directional control during the landing roll. Contributing factors were the delayed remedial action by the check pilot, the crosswind condition, and the rough uneven…NTSB LAX08LA139Accident · No injuriesLimited investigationFinal reportHughes 369FF · Kekaha, HIA loss of engine power for undetermined reasons.NTSB LAX08CA084Accident · No injuriesData collectionFinal reportPiper PA32-301FT · Honolulu, HIThe pilot's inadequate compensation for the wind conditions and his subsequent failure to maintain an adequate airspeed during landing. A contributing factor was the weather windshear condition.NTSB LAX08LA060Accident · No injuriesLimited investigationFinal reportCessna 305-A · Mokuleia, HIThe failure of the left main landing gear strut due to fatigue. Contributing to the failure was the side load placed on the landing gear while making a crosswind landing.NTSB LAX06CA184Accident · Minor injuriesData collectionFinal reportRobinson R44 · Wailuku, HIthe pilot's inadequate compensation for the existing gusty wind conditions that resulted in his failure to maintain proper alignment with the landing area.NTSB LAX06CA150Accident · No injuriesData collectionFinal reportCessna 172S · Honolulu, HIthe pilot's misjudged flare resulting in a hard landing and a porpoise pilot induced oscillation.NTSB LAX06CA078Accident · No injuriesData collectionFinal reportWaco YMF-5C · Lihue, HIthe pilot's inadequate compensation for the crosswind condition and failure to maintain directional control of the aircraft on landing.NTSB LAX05CA314Accident · No injuriesData collectionFinal reportRobinson R22 Beta · Kamuela, HIThe student's misjudged landing flare, and the instructor's inadequate supervision and delayed remedial action. A factor in the accident was the high density altitude.NTSB LAX05LA103Accident · No injuriesLimited investigationFinal reportLuscombe 8F · Kapolei, HIthe pilot's inadequate compensation for the quartering tailwind conditions, and his failure to maintain directional control of the airplane during landing. Related factors were the tailwind and crosswind.NTSB LAX05LA101Accident · No injuriesLimited investigationFinal reportSchweizer SGS 1-26B · Waialua, HIthe pilot misjudged distance and altitude and failed to attain the proper landing touchdown point.NTSB LAX05CA047Accident · No injuriesData collectionFinal reportPiper PA-28-161 · Kapolei, HIthe pilot's failure to maintain directional control, which resulted in a collision with an obstacle.NTSB LAX04CA321Accident · No injuriesData collectionFinal reportRobinson R22 Beta · Kona, HIthe CFI's failure to maintain an adequate airspeed and main rotor rpm, and his improper flare, which resulted in a hard landing. A factor in the accident was the CFI's diverted attention.NTSB LAX04CA290Accident · No injuriesData collectionFinal reportCessna 172S · Honolulu, HIthe student pilot's misjudged flare, which resulted in a hard landing. Also causal was the student pilot's improper recovery from a bounced landing and pilot induced porpoise and failure to maintain directional control on the landing roll, which resulted in…NTSB LAX04CA136Accident · No injuriesData collectionFinal reportCessna 177A · Honolulu, HIthe pilot's misjudged landing flare, which resulted in a hard landing and porpoising down the runway.NTSB LAX03CA227Accident · No injuriesData collectionFinal reportRobinson R22 Beta · Waimea, HIThe certified flight instructor (CFI) delayed remedial action in response to the excessive descent rate initiated by the student during the practice autorotation. Also causal, was the CFI's inadequate supervision of the student during the flight. A possible…NTSB LAX03LA170Accident · No injuriesLimited investigationFinal reportCessna 172S · Kapolei, HIThe pilot's misjudged landing flare, and improper recovery from a bounced landing, which resulted in the collapse of the nose landing gear and structural damage to the airplane.NTSB LAX02LA217Accident · No injuriesLimited investigationFinal reportAerospatiale AS350 BA · Honolulu, HIthe pilot's failure to maintain adequate tail rotor clearance from the sloping terrain in unfavorable wind conditions.NTSB LAX01FA127Accident · No injuriesField investigationFinal reportAgusta A109A · Hanapepe, Kauai, HIthe pilot's misjudged flare during an autorotation, which resulted in a hard landing. A contributing factor was the check airman's failure to demonstrate a stuck pedal maneuver prior to assigning the procedure to the pilot.NTSB LAX01LA046Accident · No injuriesLimited investigationFinal reportCessna 305A · Mokuleia, HIThe pilot's inadequate compensation for the existing crosswind condition, which resulted in a loss of directional control and subsequent ground loop.NTSB LAX01LA016Accident · No injuriesLimited investigationFinal reportAerospatiale AS350-BH · Hilo, HIInadequate maintenance by the helicopter manufacturer during manufacture, which installed skins of inadequate thickness on the tail boom. A factor in the accident was the failure of the manufacturer's quality control system to detect the inadequate thickness.NTSB LAX01LA008Accident · No injuriesLimited investigationFinal reportCessna 172H · Hilo, HIAn inadvertent pilot-induced porpoise resulting from the pilot's improper landing flare and inadequate power management.