The objective of my code is: 

Write a function "once" that accepts a callback as input and returns a function. When the returned function is called the first time, it should call the callback and return that output. If it is called any additional times, instead of calling the callback again it will simply return the output value from the first time it was called.

I tried the code below: 

```
const once = (inputFunc) => {

  let invCount = 0; 
  let firstCallOutput; 

  return function (num) {
    invCount ++; 

    if (invCount === 1){

      firstCallOuput = inputFunc(num); 
      return inputFunc(num); 
    }

    else {
      return firstCallOuput; 
    }
  }
}

const addByTwoOnce = once(function(num) {
  return num + 2;
});

// UNCOMMENT THESE TO TEST YOUR WORK!
console.log(addByTwoOnce(5));  //should log 7
console.log(addByTwoOnce(10));  //should log 7
console.log(addByTwoOnce(9001));  //should log 7

```

My code console logs out the correct values (7) in all three situations. But it fails 2/3 test specs. 

[![enter image description here](https://i.stack.imgur.com/0EYb6.png)](https://i.stack.imgur.com/0EYb6.png)

What am I doing wrong? How can I pass the two test specs?