 Right. Fine. Okay. This stuff. Is typically what your test automation code looks like. We've got a few lines of code. And somewhere here, the other side of the world there's a few lines of code that it tests. This example comes from some website I found this morning with a nice page object. That's to wind up the people who are going to talk about alternatives to page objects later on today. In here's a bunch of connectivity code, This is typically millions of lines of code. It's your web browser, it's Selenium web driver, it's the networking code, we've got the GUI code, which has all the glorious JavaScript and CSS and the rest of it, but ultimately what we're testing is this. And typically there's some sort of database running in the background. So we've got small amount of code, testing small amount of code, going through a vast plethora of code and a bunch of connectivity. Again, apologies to be missing some graphics here. The other perspective I want to give you is that your tests are here, we have some sort of conduit code which essentially connects your code to the outside world. It deals with this graphical user interface. This is what, as users we know, got the aesthetics to it, but ultimately we're treating it as an interface, albeit that most GUI interfaces are implicit interfaces. By that I mean that we don't describe the interfaces in code, we find them and we try and fathom out how we get our code to work with the GUI interface. That goes through a bunch of support code, so how many of you have written software? I'm not talking about test automation software, I'm talking about applications software or system software, some of you, a few of you. So essentially there's normally lots and lots of code that runs, that finally gets us to the behaviors we want to test, whether it's a login, whether it's putting something in a shopping basket, whatever it is we're trying to achieve, and all our code has to go through this, and of course if there are problems with the interface or the problems with the behavior of the code, the code is likely to be less reliable. Again, apologise for the formatting. I used to work for eBay and this was a fairly typical conversation I would have with any of the test automators pretty much that I was working with in the company. The eBay page, this is a simplified version of it because we're not signed in, but it's in the order of 500 main elements on the home page of eBay. So I'd go to the team and say, what are we testing? What are we testing on the home page? Okay, fine, show me the code. And what we'd actually find is that's all we're testing. We go to the login or the search field, we type something in, we press a search button.