I am trying to get to grips with Javascript by implementing intermediate functions from scratch. Currently trying to implement a delay function that executes an arbitrary function passed as an argument after a waiting time (wait). This also needs to be able to forward additionally passed arguments as extra arguments for the function being delayed.

What I have made so far isn't calling the function within the setTimeout(). Im not sure if its a syntax error or ive just missed the point completely. I have looked through similar questions on here and tried to implement some of the suggested results, however none seem to take the additional arguments aspect into consideration. Anyway, here is what I currently have.

```
    var exampleDelay = function (func, wait) {
      return function () {
        setTimeout(func.apply(this, arguments), wait);
      }
    };

```

Any help tackling this would be appreciated (or if anyone can point me to an answer I may have missed).