In the first module of this course on production machine learning systems, we discussed many of the things that the system should be able to do. And the components that take responsibility for doing these things. We also discussed important decisions that system architects will have to make. For training, whether we do dynamic training or static training, and the same for inference. The answers to these questions drives the architecture. And finally, you got to practice designing and architecture from scratch. In the second module, we talked about how to bring your data to the cloud. We covered transfer methods like gsutil to directly ingest data into Google Cloud Storage. The transfer appliance that we shipped to you to fill up and you should be back. We talked about cloud storage transfer service, which is a great way to transfer data between regions at Google. And the BigQuery transfer service that automates loading data into BigQuery from a variety of sources. In module three, we talked about change, how it affects machine learning systems, and what we can do to mitigate, to reduce those effects. And in module four, we talked about how to squeeze the most performance out of the machine learning system by choosing the right hardware removing bottles. And in module five, we talked the high level about the technology behind hybrid systems, which might run on the Cloud, on the Edge or on-premises. And that's a wrap for Production Machine Learning Systems. We'll see you in the next course on Image Classifications Models. Where we will delve into convolutional networks, transfer learning and tensor processing units. Thank you.