---
id: 645cb0ce6dc93738b442b0d0
title: Step 65
challengeType: 0
dashedName: step-65
---
# --description--
Now you should see a countdown from `3` to `0`, followed by `Reached base case`, and a count from `1` to `3`. This is because, after the recursive loop is finished, the function will continue to execute the code after the recursive call. This is why you see `Reached base case` before the count from `1` to `3`.
Now that you have a better understanding of how the call stack and recursion work, you'll refactor the `decimalToBinary()` function to use recursion instead of a `while` loop.
First, remove your `countDownAndUp()` function and function call.
# --hints--
Your code should not have a function named `countDownAndUp`.
```js
assert.notMatch(code, /(var|let|const)\s+countDownAndUp\s*=\s*[\s\S]+\}/);
```
Your code should not call the `countDownAndUp` function.
```js
assert.notMatch(code, /countDownAndUp\([\s\S]+\)/);
```
# --seed--
## --seed-contents--
```html