 Now, we're going to level up our timer by instead of counting down by whole seconds, we're going to count down by pieces of a second, specifically milliseconds. By moving to our while loop construction, we made it a little bit easier to do this. So, we start out by defining our interval of 1 millisecond, 0.001, 1 1 thousandth. We have our seconds left set at 11, and then a lot of this is the same. We start by initializing done to be false. We create our while loop. We say while not done, do this indented code block. We start by sleeping for the interval, and then print how many seconds we have left. Then instead of decrementing seconds left by one whole second, we decremented by that interval. We check our condition again, whether it is still greater than zero. If it becomes less than or equal to zero at any point, say done equals true, and we'll finish and get a ding. But until then, go back and do the whole thing over again, one interval at a time, so one one thousandth of a second at a time, instead of one whole second at a time. Now because computers are very precise, this produces a very ugly number with a lot of decimals, a lot of decimal points. We really only care about the first three, because we're just counting milliseconds. We don't care about the nearest nanosecond. So luckily, F strings has a way to take something ugly, this ugly seconds left, and chop off all but the first three decimal points. It is this construct here. This is a cryptic code that tells the F string how to format this number. So the colon says, okay, everything that comes after this, this is formatting information. The F says, this is a floating point number, so it's going to be a decimal with stuff that comes after the decimal. The point three means, of everything that comes after the decimal point, keep a fixed three digits of precision. And that's exactly what we want. We want to be able to represent milliseconds. And then we'll add our customary spaces on there to cover things up when we go down a digit from two digits to one digit. And then when we run it, we can see this is exactly what happens. It counts down from 11, and it cycles through the numbers one millisecond at a time. They turn over very quickly, and pretty soon we get down to zero, and we're done. So our timer just got a lot fancier. We went from a slow one second at a time, to a ridiculously faster than we could ever make use of one millisecond at a time. If you'd like to play around with it, go into this code, change the number of seconds left. Change the interval. Change the number of decimal places it shows when it prints it. Try changing each of those and seeing what the result is. Really make it your own.