ACLS Blogs

Adult Cardiac Arrest Algorithm Walkthrough: Every Branch Explained

Why the Adult Cardiac Arrest Algorithm Is the Backbone of ACLS

When a patient loses a pulse, there is no time to flip through a manual or debate the next step out loud. The adult cardiac arrest algorithm exists precisely for that moment: a decision tree that has already made the hard choices for you, so the code team can move fast and move together. If you have ever stared at the algorithm chart and felt your eyes glaze over at the branching arrows, you are not alone. It looks like a flowchart built by committee, and in a sense it was, but every branch point reflects a specific clinical question with a specific answer.


This walkthrough breaks the algorithm into its component decisions: how the shockable and non-shockable pathways diverge, when drugs are given and why the timing differs between branches, how often you check the rhythm, and how the reversible causes fit into a code that can otherwise feel like a blur of compressions and shocks. Think of this as the companion piece to the algorithm chart itself, not a replacement for it. If you have not already reviewed the Adult Cardiac Arrest Vertical Algorithm, keep it open alongside this article. Everything below maps directly onto that chart, branch by branch.


The Big Picture: Two Branches, One Clock

Every adult cardiac arrest algorithm, whether drawn as a vertical flowchart or laid out as a circular diagram for team-based codes, splits into exactly two pathways after the initial rhythm check: shockable and non-shockable. Shockable rhythms are ventricular fibrillation (VF) and pulseless ventricular tachycardia (pVT). Non-shockable rhythms are pulseless electrical activity (PEA) and asystole. That single fork in the road determines almost everything that happens next: whether a defibrillator gets used, when the first dose of epinephrine goes in, and which antiarrhythmic gets considered later in the code.


What ties both branches together is the two-minute cycle. Chest compressions run continuously in two-minute blocks, interrupted only briefly for a rhythm check and, if indicated, a shock. According to the American Heart Association guidelines for adult advanced life support, this rhythm-check-then-resume-compressions loop is the structural skeleton the entire algorithm hangs on, regardless of which branch you are working. Understanding the algorithm, in other words, is really understanding one repeating loop with two possible detours.


Starting the Algorithm: Recognition, Compressions, and Access

The algorithm technically begins before ACLS providers arrive. Someone recognizes the arrest, calls for help, and starts high-quality CPR while a defibrillator and monitor are brought to the bedside. This is the handoff point from basic life support into advanced life support, and it is worth remembering that nothing in the ACLS branches works if the compressions underneath them are weak. Adequate rate (100-120 per minute), adequate depth, full chest recoil between compressions, and minimizing interruptions are not a separate skill from the algorithm; they are the algorithm's foundation.


Once the monitor is attached, the team identifies the rhythm and answers the fork-in-the-road question: shockable or not. In parallel, someone establishes IV or IO access, because every subsequent branch of the algorithm depends on having a route for medications. There is no version of this algorithm where drugs are optional; access just needs to happen without stopping compressions to get it.

Code team performing chest compressions and establishing IV access during a simulated cardiac arrest


The Shockable Branch: VF and Pulseless VT

If the rhythm is VF or pVT, the team delivers a shock as soon as the defibrillator is charged and ready, at the energy setting the manufacturer's device recommends. Immediately after the shock, compressions resume without pausing to check for a pulse or rhythm change. That resumption is not a formality; the two minutes of CPR right after a shock give the heart a chance to generate an organized rhythm before anyone checks again.


Epinephrine enters the shockable branch after the second shock has been delivered and the second rhythm check confirms the rhythm remains shockable. From that point, epinephrine 1 mg is given every 3 to 5 minutes for the remainder of the code. If the rhythm remains VF or pVT after repeated shocks, an antiarrhythmic is considered: amiodarone as the first-line agent, with lidocaine as an accepted alternative when amiodarone is unavailable or previously used. For a deeper comparison of when providers reach for one drug over the other, see the article on shockable rhythms and how VT and VF present on the monitor.


Every cycle in this branch follows the same rhythm: shock if indicated, two minutes of compressions, rhythm check, repeat. The branch does not change until the rhythm itself changes. If a shockable rhythm converts to a non-shockable one, the team crosses over to the other side of the algorithm at the next rhythm check, and the epinephrine and antiarrhythmic timing rules reset to match wherever the rhythm now sits.


The Non-Shockable Branch: PEA and Asystole

If the rhythm is PEA or asystole, there is no shock to give. Instead, the branch moves straight to medication and cause-finding. Epinephrine 1 mg is given as soon as possible once the non-shockable rhythm is confirmed, then repeated every 3 to 5 minutes, same interval as the shockable branch, just starting earlier because there is no shock sequence to wait through first.


The other defining feature of this branch is that it demands more diagnostic thinking. A shockable rhythm often has a single mechanical fix (defibrillation); PEA and asystole almost always have an underlying cause that has to be found and corrected, or compressions and drugs alone will not bring the patient back. That is why this branch and the reversible-causes review are inseparable in practice, a point covered in more detail further down. Providers who want a side-by-side comparison of how these two non-shockable rhythms present and are distinguished on the monitor can review Asystole vs. PEA: Key Differences Every Provider Must Know.


One branch never permanently overrides the other. A patient in PEA can convert to VF; a patient shocked out of VF can deteriorate into PEA. The algorithm is built to be re-entered at any point based on the current rhythm, which is exactly why the rhythm check every two minutes matters so much: it is the moment the team confirms which branch it is actually running.


Drug Timing: Why the Same Medication Behaves Differently by Branch

Epinephrine dosing sounds identical on both sides of the algorithm, 1 mg every 3 to 5 minutes, but the starting point is what separates the branches. In the non-shockable branch, epinephrine is given immediately because there is no shock competing for that first priority slot. In the shockable branch, epinephrine waits until after the second shock, so it does not delay or interrupt the defibrillation sequence. Confusing these two timing windows is one of the most common megacode errors, and it usually happens because providers memorize "epinephrine every 3 to 5 minutes" without also memorizing when the clock starts.


Amiodarone and lidocaine only apply to the shockable branch, and only after the rhythm has proven refractory to shocks and epinephrine. There is no non-shockable equivalent to reach for; if PEA or asystole persists, the answer is not a different drug, it is a more aggressive search for a reversible cause. Providers preparing for the medication portion of the megacode station often find it useful to work through the full ACLS medication timing and drug delivery window guide, since seconds genuinely matter when a code leader is trying to decide whether the last epinephrine dose was two minutes ago or five.

Nurse administering epinephrine during an ACLS cardiac arrest algorithm training scenario


This is also where the algorithm chart becomes more than a memory aid. Working through the branch logic on the full ACLS algorithms library alongside a practice code helps the timing stick in a way that reading dosing tables alone rarely does, because you are rehearsing the decision, not just the number.


Rhythm Checks: When and How to Move Between Branches

Rhythm checks happen roughly every two minutes, timed to the compression cycle rather than the clock on the wall. The check itself should take under 10 seconds. Compressions stop, the monitor is read, a pulse check happens only if the rhythm looks organized, and compressions resume the instant the rhythm is confirmed. Anything longer than that erodes chest compression fraction, the percentage of total code time actually spent compressing, which has a direct relationship to the odds of neurologic recovery.


Moving between branches is not a special maneuver; it is simply following whatever the current rhythm check reveals. If a team has been running the non-shockable branch and the rhythm check shows VF, the team shocks at that check, exactly as if VF had been the presenting rhythm all along. If a team has been shocking VF and the rhythm organizes into something that looks like PEA, the team stops shocking and starts the epinephrine timing over from that point if it has not already been given within the last few minutes. The algorithm does not care about the rhythm history; it only cares about the rhythm in front of you right now.


This is easier to internalize with the circular version of the chart, which some teams prefer specifically because it visually removes the sense that shockable and non-shockable are two separate algorithms rather than two branches of the same loop. The Adult Cardiac Arrest Circular Algorithm lays this out as a continuous ring rather than a top-to-bottom chart, which can make the "keep looping until something changes" logic click for providers who found the vertical version harder to picture in real time.


Common Branch-Logic Mistakes That Slow Down a Code

A handful of errors show up over and over in mock codes and megacode stations, and almost all of them trace back to blending the two branches instead of keeping their logic separate. The most frequent is pausing after a shock to check for a pulse before resuming compressions; the algorithm calls for compressions to restart immediately, with the pulse check deferred to the next scheduled rhythm check. Another common slip is giving the first epinephrine dose in the shockable branch too early, before the second shock, which is a non-shockable timing rule applied to the wrong pathway.


A subtler mistake is treating the epinephrine clock as if it resets every time the rhythm changes branches. It does not automatically reset; if epinephrine was given two minutes ago in a non-shockable rhythm and the patient then converts to VF, the 3 to 5 minute interval keeps running from that last dose rather than starting over at zero. Finally, teams under stress sometimes let the reversible-causes review quietly drop off once the algorithm becomes routine, running cycle after cycle of compressions and drugs without anyone naming a single H or T out loud. None of these are rare edge cases; they are the exact spots where a code either stays organized or starts to drift, which is why walking the branches deliberately, the way this article does, pays off more than memorizing the chart as a single static image.


Reversible Causes: The Hs and Ts That Explain Why Compressions Alone Are Not Enough

Every branch of the algorithm assumes someone is simultaneously asking why the arrest happened in the first place. The Hs and Ts mnemonic exists to keep that search organized under pressure: hypovolemia, hypoxia, hydrogen ion (acidosis), hypo- or hyperkalemia, and hypothermia on the H side; tension pneumothorax, cardiac tamponade, toxins, and thrombosis (pulmonary or coronary) on the T side. Research on cardiac arrest management has emphasized that early identification and treatment of the underlying cause is associated with a meaningful survival benefit, particularly in PEA and asystole, where compressions and epinephrine alone often cannot restore a perfusing rhythm if the trigger is still active.


In practice, this review happens in parallel with the compression cycles, not as a separate step tacked onto the end. A provider on the code team is typically assigned to think through the Hs and Ts out loud during each two-minute block: was this patient dehydrated or bleeding before the arrest (hypovolemia), was the airway secured and oxygenating well before the code started (hypoxia), does the history suggest a big pulmonary embolism or a fresh coronary occlusion (thrombosis), is there a reason to suspect an overdose (toxins)? For a full walkthrough of each cause and how it's recognized at the bedside, Sudden Cardiac Arrest: The Hs and Ts You Need to Know goes through each one in more depth than a single algorithm branch can.


Notice that the reversible-causes review is not itself a branch of the algorithm the way shockable versus non-shockable is. It runs underneath both branches simultaneously, which is exactly why it is easy to forget in a fast-moving code. Teams that build a habit of naming the Hs and Ts out loud during every rhythm check tend to catch a treatable cause faster than teams that only think about it after several rounds of drugs have already failed.


Running the Algorithm as a Team, Not a Solo Checklist

On paper, the algorithm reads like a single decision-maker following a flowchart. In an actual code, it works because roles are distributed: someone compresses, someone manages the airway, someone tracks the clock and drug timing, someone runs the defibrillator, and a code leader synthesizes all of it into the next decision. The branches described above are the code leader's mental model, but every other role needs a working understanding of the same logic to anticipate what happens next instead of waiting to be told.


This is also where high-quality CPR and the algorithm intersect most directly. A systematic review of high-performance CPR implementation found that structured, team-based CPR protocols were associated with improved outcomes in out-of-hospital cardiac arrest, largely by protecting chest compression fraction during exactly the transition points this article has walked through: rhythm checks, shock delivery, and drug administration. The algorithm is only as strong as the team's ability to execute the pauses briefly and get back to compressions immediately.


Keeping the Algorithm Sharp Between Codes

Reading through the branches once is not the same as being able to run them under pressure. Cardiac arrests are, thankfully, infrequent enough on most units that the algorithm can feel unfamiliar again by the time the next one happens. That gap is exactly what recertification training and periodic review are designed to close, and it is also why teams that build in regular mock codes or algorithm walkthroughs tend to perform better when a real one occurs. Continuous quality improvement approaches to resuscitation, discussed in resources such as the strategies to improve cardiac arrest survival literature, consistently point back to better training and more frequent practice as the levers that move outcomes, more so than any single new drug or device.


If it has been a while since you last worked through the full algorithm chart, or if you are approaching a recertification deadline, revisiting the branches above alongside a current ACLS certification or recertification course is a practical way to make sure the shockable and non-shockable pathways, drug timing windows, and reversible causes are all fresh before you need them at the bedside. The algorithm rewards familiarity. The more automatic the branches feel, the more mental bandwidth you have left for the actual patient in front of you.


ACLS Blogs

Adult Cardiac Arrest Algorithm Walkthrough: Every Branch Explained

Why the Adult Cardiac Arrest Algorithm Is the Backbone of ACLS

When a patient loses a pulse, there is no time to flip through a manual or debate the next step out loud. The adult cardiac arrest algorithm exists precisely for that moment: a decision tree that has already made the hard choices for you, so the code team can move fast and move together. If you have ever stared at the algorithm chart and felt your eyes glaze over at the branching arrows, you are not alone. It looks like a flowchart built by committee, and in a sense it was, but every branch point reflects a specific clinical question with a specific answer.


This walkthrough breaks the algorithm into its component decisions: how the shockable and non-shockable pathways diverge, when drugs are given and why the timing differs between branches, how often you check the rhythm, and how the reversible causes fit into a code that can otherwise feel like a blur of compressions and shocks. Think of this as the companion piece to the algorithm chart itself, not a replacement for it. If you have not already reviewed the Adult Cardiac Arrest Vertical Algorithm, keep it open alongside this article. Everything below maps directly onto that chart, branch by branch.


The Big Picture: Two Branches, One Clock

Every adult cardiac arrest algorithm, whether drawn as a vertical flowchart or laid out as a circular diagram for team-based codes, splits into exactly two pathways after the initial rhythm check: shockable and non-shockable. Shockable rhythms are ventricular fibrillation (VF) and pulseless ventricular tachycardia (pVT). Non-shockable rhythms are pulseless electrical activity (PEA) and asystole. That single fork in the road determines almost everything that happens next: whether a defibrillator gets used, when the first dose of epinephrine goes in, and which antiarrhythmic gets considered later in the code.


What ties both branches together is the two-minute cycle. Chest compressions run continuously in two-minute blocks, interrupted only briefly for a rhythm check and, if indicated, a shock. According to the American Heart Association guidelines for adult advanced life support, this rhythm-check-then-resume-compressions loop is the structural skeleton the entire algorithm hangs on, regardless of which branch you are working. Understanding the algorithm, in other words, is really understanding one repeating loop with two possible detours.


Starting the Algorithm: Recognition, Compressions, and Access

The algorithm technically begins before ACLS providers arrive. Someone recognizes the arrest, calls for help, and starts high-quality CPR while a defibrillator and monitor are brought to the bedside. This is the handoff point from basic life support into advanced life support, and it is worth remembering that nothing in the ACLS branches works if the compressions underneath them are weak. Adequate rate (100-120 per minute), adequate depth, full chest recoil between compressions, and minimizing interruptions are not a separate skill from the algorithm; they are the algorithm's foundation.


Once the monitor is attached, the team identifies the rhythm and answers the fork-in-the-road question: shockable or not. In parallel, someone establishes IV or IO access, because every subsequent branch of the algorithm depends on having a route for medications. There is no version of this algorithm where drugs are optional; access just needs to happen without stopping compressions to get it.

Code team performing chest compressions and establishing IV access during a simulated cardiac arrest


The Shockable Branch: VF and Pulseless VT

If the rhythm is VF or pVT, the team delivers a shock as soon as the defibrillator is charged and ready, at the energy setting the manufacturer's device recommends. Immediately after the shock, compressions resume without pausing to check for a pulse or rhythm change. That resumption is not a formality; the two minutes of CPR right after a shock give the heart a chance to generate an organized rhythm before anyone checks again.


Epinephrine enters the shockable branch after the second shock has been delivered and the second rhythm check confirms the rhythm remains shockable. From that point, epinephrine 1 mg is given every 3 to 5 minutes for the remainder of the code. If the rhythm remains VF or pVT after repeated shocks, an antiarrhythmic is considered: amiodarone as the first-line agent, with lidocaine as an accepted alternative when amiodarone is unavailable or previously used. For a deeper comparison of when providers reach for one drug over the other, see the article on shockable rhythms and how VT and VF present on the monitor.


Every cycle in this branch follows the same rhythm: shock if indicated, two minutes of compressions, rhythm check, repeat. The branch does not change until the rhythm itself changes. If a shockable rhythm converts to a non-shockable one, the team crosses over to the other side of the algorithm at the next rhythm check, and the epinephrine and antiarrhythmic timing rules reset to match wherever the rhythm now sits.


The Non-Shockable Branch: PEA and Asystole

If the rhythm is PEA or asystole, there is no shock to give. Instead, the branch moves straight to medication and cause-finding. Epinephrine 1 mg is given as soon as possible once the non-shockable rhythm is confirmed, then repeated every 3 to 5 minutes, same interval as the shockable branch, just starting earlier because there is no shock sequence to wait through first.


The other defining feature of this branch is that it demands more diagnostic thinking. A shockable rhythm often has a single mechanical fix (defibrillation); PEA and asystole almost always have an underlying cause that has to be found and corrected, or compressions and drugs alone will not bring the patient back. That is why this branch and the reversible-causes review are inseparable in practice, a point covered in more detail further down. Providers who want a side-by-side comparison of how these two non-shockable rhythms present and are distinguished on the monitor can review Asystole vs. PEA: Key Differences Every Provider Must Know.


One branch never permanently overrides the other. A patient in PEA can convert to VF; a patient shocked out of VF can deteriorate into PEA. The algorithm is built to be re-entered at any point based on the current rhythm, which is exactly why the rhythm check every two minutes matters so much: it is the moment the team confirms which branch it is actually running.


Drug Timing: Why the Same Medication Behaves Differently by Branch

Epinephrine dosing sounds identical on both sides of the algorithm, 1 mg every 3 to 5 minutes, but the starting point is what separates the branches. In the non-shockable branch, epinephrine is given immediately because there is no shock competing for that first priority slot. In the shockable branch, epinephrine waits until after the second shock, so it does not delay or interrupt the defibrillation sequence. Confusing these two timing windows is one of the most common megacode errors, and it usually happens because providers memorize "epinephrine every 3 to 5 minutes" without also memorizing when the clock starts.


Amiodarone and lidocaine only apply to the shockable branch, and only after the rhythm has proven refractory to shocks and epinephrine. There is no non-shockable equivalent to reach for; if PEA or asystole persists, the answer is not a different drug, it is a more aggressive search for a reversible cause. Providers preparing for the medication portion of the megacode station often find it useful to work through the full ACLS medication timing and drug delivery window guide, since seconds genuinely matter when a code leader is trying to decide whether the last epinephrine dose was two minutes ago or five.

Nurse administering epinephrine during an ACLS cardiac arrest algorithm training scenario


This is also where the algorithm chart becomes more than a memory aid. Working through the branch logic on the full ACLS algorithms library alongside a practice code helps the timing stick in a way that reading dosing tables alone rarely does, because you are rehearsing the decision, not just the number.


Rhythm Checks: When and How to Move Between Branches

Rhythm checks happen roughly every two minutes, timed to the compression cycle rather than the clock on the wall. The check itself should take under 10 seconds. Compressions stop, the monitor is read, a pulse check happens only if the rhythm looks organized, and compressions resume the instant the rhythm is confirmed. Anything longer than that erodes chest compression fraction, the percentage of total code time actually spent compressing, which has a direct relationship to the odds of neurologic recovery.


Moving between branches is not a special maneuver; it is simply following whatever the current rhythm check reveals. If a team has been running the non-shockable branch and the rhythm check shows VF, the team shocks at that check, exactly as if VF had been the presenting rhythm all along. If a team has been shocking VF and the rhythm organizes into something that looks like PEA, the team stops shocking and starts the epinephrine timing over from that point if it has not already been given within the last few minutes. The algorithm does not care about the rhythm history; it only cares about the rhythm in front of you right now.


This is easier to internalize with the circular version of the chart, which some teams prefer specifically because it visually removes the sense that shockable and non-shockable are two separate algorithms rather than two branches of the same loop. The Adult Cardiac Arrest Circular Algorithm lays this out as a continuous ring rather than a top-to-bottom chart, which can make the "keep looping until something changes" logic click for providers who found the vertical version harder to picture in real time.


Common Branch-Logic Mistakes That Slow Down a Code

A handful of errors show up over and over in mock codes and megacode stations, and almost all of them trace back to blending the two branches instead of keeping their logic separate. The most frequent is pausing after a shock to check for a pulse before resuming compressions; the algorithm calls for compressions to restart immediately, with the pulse check deferred to the next scheduled rhythm check. Another common slip is giving the first epinephrine dose in the shockable branch too early, before the second shock, which is a non-shockable timing rule applied to the wrong pathway.


A subtler mistake is treating the epinephrine clock as if it resets every time the rhythm changes branches. It does not automatically reset; if epinephrine was given two minutes ago in a non-shockable rhythm and the patient then converts to VF, the 3 to 5 minute interval keeps running from that last dose rather than starting over at zero. Finally, teams under stress sometimes let the reversible-causes review quietly drop off once the algorithm becomes routine, running cycle after cycle of compressions and drugs without anyone naming a single H or T out loud. None of these are rare edge cases; they are the exact spots where a code either stays organized or starts to drift, which is why walking the branches deliberately, the way this article does, pays off more than memorizing the chart as a single static image.


Reversible Causes: The Hs and Ts That Explain Why Compressions Alone Are Not Enough

Every branch of the algorithm assumes someone is simultaneously asking why the arrest happened in the first place. The Hs and Ts mnemonic exists to keep that search organized under pressure: hypovolemia, hypoxia, hydrogen ion (acidosis), hypo- or hyperkalemia, and hypothermia on the H side; tension pneumothorax, cardiac tamponade, toxins, and thrombosis (pulmonary or coronary) on the T side. Research on cardiac arrest management has emphasized that early identification and treatment of the underlying cause is associated with a meaningful survival benefit, particularly in PEA and asystole, where compressions and epinephrine alone often cannot restore a perfusing rhythm if the trigger is still active.


In practice, this review happens in parallel with the compression cycles, not as a separate step tacked onto the end. A provider on the code team is typically assigned to think through the Hs and Ts out loud during each two-minute block: was this patient dehydrated or bleeding before the arrest (hypovolemia), was the airway secured and oxygenating well before the code started (hypoxia), does the history suggest a big pulmonary embolism or a fresh coronary occlusion (thrombosis), is there a reason to suspect an overdose (toxins)? For a full walkthrough of each cause and how it's recognized at the bedside, Sudden Cardiac Arrest: The Hs and Ts You Need to Know goes through each one in more depth than a single algorithm branch can.


Notice that the reversible-causes review is not itself a branch of the algorithm the way shockable versus non-shockable is. It runs underneath both branches simultaneously, which is exactly why it is easy to forget in a fast-moving code. Teams that build a habit of naming the Hs and Ts out loud during every rhythm check tend to catch a treatable cause faster than teams that only think about it after several rounds of drugs have already failed.


Running the Algorithm as a Team, Not a Solo Checklist

On paper, the algorithm reads like a single decision-maker following a flowchart. In an actual code, it works because roles are distributed: someone compresses, someone manages the airway, someone tracks the clock and drug timing, someone runs the defibrillator, and a code leader synthesizes all of it into the next decision. The branches described above are the code leader's mental model, but every other role needs a working understanding of the same logic to anticipate what happens next instead of waiting to be told.


This is also where high-quality CPR and the algorithm intersect most directly. A systematic review of high-performance CPR implementation found that structured, team-based CPR protocols were associated with improved outcomes in out-of-hospital cardiac arrest, largely by protecting chest compression fraction during exactly the transition points this article has walked through: rhythm checks, shock delivery, and drug administration. The algorithm is only as strong as the team's ability to execute the pauses briefly and get back to compressions immediately.


Keeping the Algorithm Sharp Between Codes

Reading through the branches once is not the same as being able to run them under pressure. Cardiac arrests are, thankfully, infrequent enough on most units that the algorithm can feel unfamiliar again by the time the next one happens. That gap is exactly what recertification training and periodic review are designed to close, and it is also why teams that build in regular mock codes or algorithm walkthroughs tend to perform better when a real one occurs. Continuous quality improvement approaches to resuscitation, discussed in resources such as the strategies to improve cardiac arrest survival literature, consistently point back to better training and more frequent practice as the levers that move outcomes, more so than any single new drug or device.


If it has been a while since you last worked through the full algorithm chart, or if you are approaching a recertification deadline, revisiting the branches above alongside a current ACLS certification or recertification course is a practical way to make sure the shockable and non-shockable pathways, drug timing windows, and reversible causes are all fresh before you need them at the bedside. The algorithm rewards familiarity. The more automatic the branches feel, the more mental bandwidth you have left for the actual patient in front of you.


blogs

More articles for you

all articles

Start Today!

Get certified at your own pace, on your schedule, from the comfort of your home.