 So now that we're dealing with strings, we have to be aware and be mindful of one specific thing, that a string is known as a complex data type. And we've heard this kind of term before. We probably heard that, say, ints, doubles, even chars, that these were all considered primitive. But we didn't really kind of understand what that meant. We just kind of smiled and nodded and went, uh-huh, OK, primitive, whatever. So what does this idea of complex data types mean? Well, it means that we don't get the luxury of doing basic comparisons. One of the things that we could do with an integer is, say, 10 greater than 5, or 5 equal equal sx. We don't actually get that luxury here. Say, for example, I had a string, yes, that just equals the word yes. And then I get my user's input. I get some input dot next line. Because I'm asking my user, do they want to play again or not? Well, you'd assume that these things would be able to equal out. That would be able to do yes equals input dot next line. And this should, if they typed in yes, we'll assume that the user typed in the word yes, that this would be, this would actually print out true. Nope, nope, nope. Wrong, ladies and gentlemen. We actually, because they're complex, that actually takes a look or that runs into an issue. And before I kind of get into explaining that, let's take a look at that. So I've already kind of built out that code for us. Here's that yes I was talking about. Here's me saying, do you want to play again, getting my user's input? And if these two things mean the same thing, then I should be playing this game again. So compile it up. Do you want to play again? Yes, I would love to. No, no fun for you, you'll get no fun. So what do we do? How do we, why does this even happen? Well, let's take a second to think about our stick of memory for just a bit. With a traditional int x equals five, this actually goes, well, I'm going to just take that five and just store it in memory. The five is just going to be stored in memory because an integer five, that's not very big. It's 32 bits and only about two of those are going to be ones. So that's actually very small in the grand scheme of worlds where we have eight gigabytes of data, or 16 or 32 gigabytes of data. Say for example, I want to do now x equal equal five. Well, I grab the value out of x, which happens to be the same location as the number five. Equal equal actually looks to see if they have the same memory address. And with primitive data types, this is perfectly fine, it's perfectly okay because as you can see, we don't run into any issues. We've been doing this the entire time. But when we look at a string, as you can see, a big no. So what do we do? Well, now what we have to do is we have to take in account the fact that we're dealing with a complex data type and that STR or actually that play again. Let's say we made a variable that we stored their stuff called play again. Now, instead of doing equal equal, what we would say is dot equals yes. And that's gonna prove to be true or false. So let's take a look at that code again and let's actually change it up. Instead of it being equal equal, I say dot equals yes. Now remember, I made yes up here, stored it up here. So now if we take this code and now if we run it, do you want to play again? Why yes I do, yay, we get to play again. So something we have to be mindful of when we start to deal with these more complex, that big word again, complex data types.