This is where instruction Trace is huge and you get out in the world if you're writing firmware, if you're writing software and embedded systems, you're very quickly and you start using our good Trace system. You're quickly going to see its advantage and you won't want to give up your Trace systems. I have seen it happen from our engineering gets the tools and he gets all the Trace stuff and I was like, "Oh, this is great, I can really see what's going on." Then, another firmware engineer, "I need your Trace equipment," and I was like, "No, you can't have it, I'm going to guard it, can't take it away from me," and firmware teams have to share the equipment because it's expensive. She gets spoiled very quickly because Trace gives you the ability to follow the program counter back in time and look at how I got to where it is when a failure occurs. So, next class we will see a demonstration of TRACE32, an applications engineer from Lauterbach will be here and Lauterbach is one of the top if not the top provider of debugging solutions for primarily ARM. ARM has a very well-developed debugging infrastructure called Core Site and Lauterbach works with Core Site to enable Trace and I'm going to stop there for tonight. So, make sure you're here Thursday because if you've not ever seen a demonstration of Trace, he's going to have a board and he'll be running I mean a real board, and I'll be running demonstrations of Lauterbach's Trace capabilities, and when I worked at Seagate, every firmware engineer wanted a Lauterbach system on their desk. Most of whom had him not all of them had him, and especially again useful when you have a failure from your RDT and you bring it back to your desk and you set it up and you can run the production firmware without having to turn more asserts on and modify the timing and you have this very deep Trace buffer, so you can follow how your program got to where it was. It's extremely useful.