 The next preview feature that I want to talk about is called the route API. And this is, again, a very powerful functionality for application developers in particular. It's also available through the API, so it doesn't have to be a DHS2 web application, but it's very powerful for a web application that is deployed through DHS2. And what it supports is being able to access an external service through the DHS2 server API. So previously before version 40, in order to access this external service, you had to either have that external service exposed to the public internet and then have the web browser talk to that external service directly, which opens up a lot of security and confidentiality issues that shouldn't strictly be necessary. So what is introduced in version 40 is what's called a route API. You can define a route, which points from the DHS2 server to an external service. And this can include credentials, which are stored on the DHS2 server. So they never need to be exposed to the browser or the DHS web application. The web app simply makes a request to slash API slash routes and then specifies the route that it wants and the path and the query string and the headers that it wants to send to that external service. The DHS server then authenticates that request to say this route is only available to users with a particular authority or this particular group of users. So if you're not in that group of users, I'm going to reject that right now. But if it is allowed, it will forward that request on to that external service and include some credentials and some other headers and enrich that request with certain properties that are configured in the DHS2 server. So those properties are not exposed to or the DHS web application doesn't need to know about them. Then that gets sent on to the external service, which has access to a custom header called X forwarded user, which specifies which user of DHS2 actually made that request. So then that external service can make a request back to the DHS2 server to figure out what that user has access to or what the particular form that they want to access or anything like that. And finally, that external service sends a response back to the DHS2 server, which forwards that response on to the web application. So from the web application perspective, it's just making a request to DHS2 and behind the scenes that's going off and doing some other things with this external service that importantly doesn't need to be exposed to the public internet, which adds a lot of security to the system. This is another preview feature. So there are a lot of powerful functionality that's already available in version 40, but there's a lot more that we wanna do with this as well and we know that there's some very interesting use cases that we want to explore. So there will be more changes and improvements coming to this functionality as well in version 41 and beyond. Finally, the last preview feature that I want to introduce is called user impersonation. And this is mostly used internally by DHS2. It will be used for generating reports using a server-side headless browser. That's a technical terminology, but basically this allows you to access the DHS2 API as if you were another user in the system. So this is obviously something that most users of DHS2, almost all users of DHS2 should never have access to. But in very specific situations with integrations with external services or certain administrators, it can be very useful to be able to see what another user in DHS2 would see. And this lets you say, all right, I want to basically generate this dashboard as if I were this other user and then send that to them via email. So this is used internally in the DHS2 core teams work on push analytics in the near term. It is a preview feature, so it will be potentially some changes or improvements going forward in version 41. But we're also curious to hear what the use cases that you might have for these functionalities could be so that we can incorporate that in the future. There's also security implications to this. So it should be only enabled for very specific situations and it's disabled by default. So it's not exposed to any instance that doesn't want it. But if it's something that might be useful to you, you can explore using this feature in version 40 and talk to us about how we can improve it in version 41 and beyond.