 I work here in Portland at a place called Pop Art. I run into problems every day that look kind of like this. And I didn't really understand what this meant. I just knew that every time I had an error, people were like, oh, check out the stack trace. So I was like, OK. And that's a lot of stuff. But basically, all it meant was that this is where my program had failed in the call stack. But I didn't really understand what a call stack was. So I thought I should probably investigate a little further. Turns out call stack is the order in which the programming language is executing our functions. So JavaScript has one call stack. If you have some functions, it basically pushes them onto the call stack. So for example, if you have a great idea, like you want to sell $12 toast, it gets pushed onto the call stack, which calls execute idea. And then that calls make money, which calls console log. Console log then just finishes and gets popped off the stack. Then make money finishes and gets popped off. Same with execute idea and then have a great idea. So then your call stack is empty. Turns out you can also exceed a call stack, which happens sometimes. And I found out also that all browsers have different maximum call stack sizes, which I thought was kind of interesting. So then this gets more interesting when we work with the web API. So if we have set time out the way that works is you call have a great idea, which calls set time out. That gets pushed off to the web API and continues going while you keep calling your other functions. So it's going to finish at some point and gets put into the queue. But it's not being executed yet, even though you think this should be called, but it hasn't been called because it needs to wait for the stack to empty. And when the stack empties, it can be pushed into the stack and executed like all your other functions will be. And that is why I guess I was always told not to use set time out to count on time because you don't know how long it's going to take for your stack to clear before it goes. So it's really the minimum time. If you're interested in learning more, I found this really cool resource. When I was researching this, this actually will show you how this all works in a web app. So that's it.