AI Engineer World's Fair 2026
Why AI Agents Should Have Their Own Sandbox — Philipp Schmid, Google DeepMind
Read the talk
Why AI Agents Should Have Their Own Sandbox
Philipp Schmid explains how Gemini’s Interactions API moves from chat turns to typed steps, then follows a managed agent from a cloud environment to a generated radio show. The sandbox supplies the files, tools and execution loop that turn a request into work.
From a talk by Philipp Schmid
At a glance
Ideas worth remembering
Interactions separates conversation history, background jobs and output modality, so the client can continue work through IDs instead of managing every detail of a long request.
Typed steps make tool calls and environment results explicit rather than treating every event as another user or model message.
A managed environment gives the agent code execution, dependencies and files that can be reused across interactions or shared for agent handoffs.
The Agents API can turn an agent-prepared environment into a reusable starting configuration, combining installed tools, skills and instructions.
AI Talk Radio shows a coordinating agent using file-based instructions and a Python tool to call a speech model, then combining generated media into a show.
The managed service runs the tool-execution loop inside the remote sandbox; environment downloads let the application retrieve the resulting files.
From completing text to doing work
A model that continues a poem needs text. An agent asked to research, create files and verify a result needs somewhere to work. Philipp Schmid, who works on AI Studio and the Gemini API at Google DeepMind, opens with the progression that creates this requirement: text completion became instruction following, chat added conversations, and function calling gave models a way to take actions.
The request has changed along with the model. Instead of asking for the next answer, a developer can give an agent a goal, describe how to verify it, and ask it to return after a long stretch of work. Schmid describes hours or days as the ambition for this pattern, rather than demonstrating such a run here. Once tools and intermediate results enter the picture, the application needs to manage more than alternating messages.
The opening product updates make the same point from another direction: the API is also becoming a route to generated images and video. AI Studio supplies the entry point for experimentation, API keys, billing and budgets. The rest of the talk concentrates on how to organize requests that can involve several modalities, tools and a continuing execution environment.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
One interface, with state and work that outlasts a connection
The Interactions API uses the same basic interface for a Gemini model and an agent: select what will handle the request, supply an input, and configure tools or an environment. The input can be a string or multimodal data. This lets the application keep a familiar request shape while changing the kind of work performed.
Three mechanisms remove distinct pieces of client-side bookkeeping:
- Conversation state. A follow-up request supplies new input and the previous interaction’s ID. The server assembles the earlier context so the model can see what happened before.
- Background operations. A slow job returns an ID instead of requiring the application to hold an HTTP connection open for the entire generation. Streaming or polling can track completion.
- Output modality. Speech generation requests audio and configures a voice; image generation supplies the corresponding generation configuration. The application states what kind of result it wants within the same interaction pattern.
The tool-use example is a small agent looking for CVEs affecting React. Google Search finds candidate information, URL context lets the model examine the websites, and a custom function gives the findings structure suitable for storage or later lookup. These tools serve different jobs: discovery, reading and shaping the result. The model chooses which tool to call as it works; the example describes a simple lookup workflow, without establishing comprehensive vulnerability coverage.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Tool results belong in a timeline of steps
A user/model conversation is easy to understand when every request produces an answer. Agent execution introduces other events: reasoning, function calls and results returned by the environment. Treating a function result as another user message obscures who produced it and what it means.
Interactions represents this work as a timeline of typed steps. Each action or generation has its own type, and a function result is returned as a function result. The useful change is explicit meaning: an application can describe what occurred without squeezing every event into a conversational role. Schmid also presents this as a way to add future capabilities through new step types.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Give the agent a filesystem it can keep using
The Antigravity agent in the Gemini API uses the same underlying harness as the Antigravity product. A harness is the backend machinery that runs the agent. Sharing it does not make the API agent identical to the IDE’s coding agent: tools and system instructions can differ. Improvements to how Gemini works with that shared machinery can benefit both products.
An environment field gives the remote agent a managed cloud sandbox. Inside it, the agent can execute code, create and edit files, install dependencies and tools, and call APIs. The developer sends the request while the service handles the infrastructure. Environment state can persist across interactions: ask the agent to research the latest tech news and create a file, then reuse that environment for a follow-up that continues from the saved work. The talk does not specify retention duration or isolation guarantees.
The same filesystem can also connect agents. Schmid gives the example of three agents sharing an environment, using files as common context, or a sub-agent picking up another agent’s work. That makes saved output available for handoff, although file sharing alone does not define how concurrent edits are coordinated.
The environment needs both working material and instructions. Sources can come from GCS buckets, GitHub repositories or inline files. Skills stored in the skills directory are picked up automatically, and an AGENTS.md file is appended to the system instruction. Files therefore do two jobs: they hold the artifacts an agent works on, and they supply guidance about how to work.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Package a prepared environment as a reusable agent
A configured request is useful once; a reusable agent lets another team or customer invoke the same setup. The Agents API packages a base agent, instructions and an environment. That environment can be defined with sources or taken from an existing prepared environment.
The preparation example starts with work an agent can do itself: install the GitHub CLI, add skills and run sanity checks. Afterward, the returned environment ID becomes part of a new agent definition. Subsequent calls start from that preloaded configuration. This moves repeated setup out of each task and into the agent’s starting environment, while the managed service handles the infrastructure.
What travels from preparation into later runs? The diagram shows the environment ID connecting setup work to the reusable agent. The saved starting point carries installed tools and skills forward; the developer does not need to describe their installation again in every task.
The Gemini API CLI supplies another interface to these capabilities. It is distinct from Gemini CLI: its job is to call the API, including media generation and agent creation or iteration. A coding agent can use it as a tool, and dedicated skills explain how to work with the Interactions and Agents APIs.
Install the GitHub CLI, add skills and run sanity checks.
An agent can perform the setup work, then its environment ID connects that prepared configuration to a reusable agent.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
AI Talk Radio turns a topic into a production task
AI Talk Radio puts a small UI on top of a managed agent with access to Gemini’s research and media capabilities. Its task includes generating a thumbnail, speech and music. The live request asks whether pineapples belong on pizza. The first visible work is less glamorous than the final show: start the environment, install Python dependencies and read the skills.
While that request runs, Schmid plays a completed example about pouring cereal or milk first. The result has an observable structure: Paul introduces the debate, David argues for cereal first, Paul summarizes that argument and introduces Sarah, and Sarah begins a counterargument about texture. These are generated radio characters, including their stated locations. David’s claim that cereal is the “independent variable,” followed by his mashed-potato-and-gravy analogy, gives the output the argumentative personality of a call-in show.
The played cereal example demonstrates the produced audio format; the pineapple request demonstrates startup work. The recording does not show the pineapple show completing. Keeping those outcomes separate makes the causal lesson clearer: one topic prompt starts a production workflow, and the earlier completed run shows the kind of artifact that workflow can produce.
The applet’s code explains how the topic becomes a show. Its AGENTS.md file loads when the environment starts and instructs the agent to research, write scripts for the different characters, generate music and speech, and mix the pieces. Skills explain how to perform those jobs. For speech, a Python file calls other Gemini models through the Interactions API, so the coordinating agent can obtain audio as an intermediate artifact and use it in the finished production.
Where does the audio come from, and how does it return to the show? The diagram separates task instructions from the speech-generation call. The managed agent organizes the work; the Python tool requests speech from another model; the resulting audio returns for mixing. A single user prompt can therefore lead to several specialized model calls and file-producing operations.
The applet can be remixed from AI Studio’s Build gallery—for example, into a different podcast format. Its file-based setup also makes the agent separable from the UI: Schmid describes carrying the configuration into a backend by copying the file and creating an agent. The UI supplies a way to request and play a show; the environment files describe the work that produces it.
Request a radio discussion, such as cereal first versus milk first.
Environment instructions organize production, while a Python tool uses the Interactions API to obtain speech from another Gemini model.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Inspect the computer, extract its files, and leave the loop on the server
The final demo asks the Antigravity agent to explore its own environment. In the playground, Schmid selects a standard template, sends the request, and watches reasoning and shell commands inspect the machine. He estimates seven to ten seconds for the initial environment startup. The agent reports Ubuntu, eight vCPUs, 16 gigabytes of memory, Python and pip; those are the reported properties of this demo environment, rather than a promise about every sandbox.
A follow-up asks whether Node is installed, continuing the investigation in the environment. The UI also offers an environment download, and an API provides a way to extract files. Persistence is useful while the agent works; extraction makes the resulting artifacts available outside the sandbox.
The closing explanation identifies the main work that has moved off the client. In a client-managed function-calling loop, the application receives a function call, executes it somewhere, and sends the result back to the model. With the managed agent, a request starts the sandbox, loads the files, and runs that loop on the server. Remote MCP servers can be connected, and local MCP servers can run inside the environment.
That is the practical reason for giving the agent its own computer: it needs an execution environment where instructions, dependencies, tool calls and intermediate files can stay together while work proceeds. The developer still supplies the task and useful setup, but no longer has to host every step of the execution loop. Schmid closes by pointing to the agents quickstart and coding skills for sending a first request and building a reusable agent.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Resources
Related talks
- Beating RL With Reflection: GEPA and Optimize Anything
Extends the discussion of harnesses and repository skills by explaining how execution feedback can improve agent programs and the instructions carried into later attempts.
Read the complete timestamped transcript
- 0:12
So hi, everyone. Uh, welcome to Why Agents Should Have Their Own Sandbox. Uh, I'm Philipp. I'm part of the Google DeepMind team, mostly working on AI Studio and Gemini API. Uh, we have a small group, so I try to keep the boring stuff short and, like, the exciting demo stuff long. And we can also ask some questions, I guess, at the end. Maybe you need to sit a little bit further at the front so I can understand you. Um, so I want to start with a little bit of a, a background. I'm not sure if you have seen that slide, but that's a very popular slide when you do,
- 0:42
like, Google presentations, um, to show a little bit, um, what we have achieved in the last two year with, like, the Gemini models, but also our open models with Gemma. And the slide is already outdated since yesterday. So yesterday we shipped NanoBanana Lite, uh, which is our new image generation model. Super fast.
- 1:02
In a box.
- 1:02
Uh, sorry. Super fast, uh, super cheap. Um, it's like four cent per image. And then also we shipped, uh, Omni Flash on the Interactions API, so you can now programmatically use Omni to create videos, to edit videos, to, yeah, build gen media applications. And to give a little bit of a brief history, I assume everyone has heard about agent, has heard about large language models, but to really quickly reflect to where we are coming from. So I think around two thousand and eighteen, nineteen with the
- 1:32
first BERT models and GPT models, we were super excited because we could continue sentences, right? We were able to generate poems without, uh, with providing, like, a first few words, and then the model coherently continued the text, which was nice, but not very useful or helpful for any one of us to build something. Then we, we moved into the, the instruction, uh, way. Before we had pre-trained models which could continue text, and then with instruction following, we basically trained models to answer questions more or less.
- 2:02
So we told a, uh, ask a question, and the model correctly responded. Um, and then with, with ChatGPT, um, everything changed a little bit. I think most of the people probably got started with that. And we went into this user model turn-based conversation where we had a user input, a model input, a user input, a model output. Then afterwards, we combined that with function calling because we wanted the model to take actions for us. And now we are in, like, this black box with goals, thinking, and functions where we no longer just prompt the model. We
- 2:32
basically give a goal to the model, tell them how to verify its goal or how to, like, deploy it and, like, hopefully have it running for multiple hours or even days and come back with the results we want to achieve. Um, so if you haven't used Gemini API or AI Studio before, you can go to ai.studio or to ai.dev. So very quick, very short URLs. Uh, get your own API key. So if you have your computer with you and you-- if you want to follow along a little bit later on, like, trying out a few things we have shipped recently,
- 3:02
you can do that. Um, no setup required. Can use your Gmail account. Um, can start, start experimenting. If you want to use bigger models, more usage, enter your credit card. And we improved that a lot, so you don't need to leave AI Studio anymore to go into Google Cloud. You can do everything inside of AI Studio. You can set up your own budgets that nothing gets out of control. And I want to start about or talk about the Interactions API, which is our new an- uh, API for Gemini models and Gemini agents. And
- 3:32
on the right side... sorry, left side, we have some code snippets. So if you never have heard about Interactions API, you can think a little bit about that's our answers to, like, the responses API from OpenAI. It is much more developer focused, much more simpler, much more web developer friendly. And you can already tell in, like, the two snippets here, uh, to call a model like Gemini or to call an agent here, like the anti-gravity agent, it's, like, literally the same interface. And this works for all of the modalities
- 4:02
Gemini offers. So you have a model or an agent. You have an input. The input can be a basic string, or it can be multimodal data. And then you have tools or environment which, uh, I'm very excited and why, uh, which we are going to talk about later why every model or agent should have its own box. Uh, new with the Interactions API is you have server side state management. So if you don't want to manage the state on the client, you can hand it over to u- the server. We have long-running operations, so async requests, basically you
- 4:32
start something. If we talk about Omni video generation takes quite a long time, and you might not want to keep your HTTP connection open. So you send a request, get back an ID, can set up streaming or polling to wait, uh, until the, the generation is completed. And then, um, it comes with a lot of simplifications for building agents and tool use. So you can combine built-in tools like Google Search, uh, with custom function calling and to look at some code examples. So for server side state, it looks very
- 5:02
similar if you have used the responses API. We call it Interactions because we just not get a response anymore. We interact with models and agents. You send an input, and if you want to do a follow-up turn, you provide a new input and basically just the ID from the previous turn. And then on the server, we, um, concatenate all of, like, the different inputs and make sure that the model really rec- uh, sees what has been done so far. And this goes for all modalities. So for audio generation, you have a model.
- 5:32
We have our Gemini TTS model. We have our input. And since we want audio back, not text, you define a response modality with audio and some con- uh, generation configuration which voice you, for example, want to use. The same pattern works for image generation. So our image generation model, uh, NanoBanana here, our input, some generation, uh, gen-generation config, and then you get back your image. And for tool use, uh, also much better, I would
- 6:02
say, than previously. You- Just define your tools with, like, Google Search, URL context, or your own custom function, and then you send your request, and the model decides on it o- on its own, do I first need to, like, run Google Search or call the function? And all of the code you see here is basically enough to create a very simple, small CVE agent to detect if there are, like, any CVE, um, for React in this case. And then, like, it uses Google Search, it uses URL context to visit those websites,
- 6:32
and then function calling to basically give structure to it so you can, like, save it in your database or look it up, for example. Um, and something new and maybe different to other model providers is that we moved away from this user model turn principle. So if you build an application with another LLM provider or with open models, you have always this, uh, user model, user model turn concept. So you as a user provide an input and
- 7:02
expect the model to re- return an output. This worked until, like, one or two years ago, I would say, where we just got back responses from those models. But with agents and with reasoning, all of that changed, right? Models now think for a very long time where they might expose some thoughts directly or might just expose a signature. Function calling is not very, uh, a user role, right? With normal or, like, with previous APIs, you would need to use the user turn to return some function output, which for
- 7:32
me always felt a little bit weird because the output or the new input is coming from the environment and not from the user. So that's why we moved away from, like, those turns into steps or, like, to a, um, like, synchronous timeline of steps where every action or generation is its own type, which makes it very easy to extend to new features and capabilities which might come in the future, but also makes it still, like, very simple to use because you really define what it has done. So if you
- 8:02
build a function calling agent, you return a function result and not, like, a, a user-- a role user with some content which might be a function result or not. And at Google I/O, we shipped the Antigravity agent, uh, which comes with its own sandbox. So the Antigravity remote agent inside the Gemini API is powered by the same agent harness which is used with the Antigravity product. So if you have used the IDE or the new Antigravity 2.0 or the CLI, you might have
- 8:32
used that harness already. Very important here, when we talk about harness, we don't mean the same agent. The harness is basically the, the back end of our agent, but it might be different between different products. So the Antigravity IDE is a coding agent, so it might have a little bit of different tools or a little bit of, of a different system instruction than the Antigravity agent we have in the Gemini API. But it's still the same harness, meaning if we improve Gemini to become better with that harness, we benefit inside Antigravity, but we
- 9:02
also benefit inside of the Gemini API. And with that new agent, we also introduced this, uh, environment field. And an environment here remote is basically for that API call, your agent gets a sandbox managed by us, meaning if you send a request, our back end starts a s- a cloud sandbox where the agent can run code, can create files, write files, um, install dependencies, install
- 9:32
your own tools, or maybe call your own APIs, and it's all managed and stateless on our side, meaning that you just send the API request. You don't need to manage the infrastructure, and those environments stay persistent. So if you have multi-turn conversation where the agent, um, you set new user input, I don't know, like, um, research the latest tech news and create a file, and then you want to do, like, a follow-up interaction, you can, like, use the same environment from your previous turn
- 10:02
with that new interaction. But also this means that you can share environments between different agents. So if you have, like, three agents working inside the same environment, they can share context through the file system, or you can, like, even use sub-agents to basically pick up a work, uh, another agent has been done. And then, of course, environments are very good, but the model needs the right context and the right information or the right tools to work inside those environments, so you can provide sources. Uh, sources can
- 10:32
be, um, GCS buckets, GitHub repositories, or inline files. It's very useful if you want to integrate skills. So the Antigravity agent, uh, is skills or file system native, I would say. So if you store skills inside the skills directory, it will automatically picked up and, uh, be pro- uh, included into the system instruction. But also if you have an agents.md file from your coding agent or from your existing agents, it will also be automatically appended to the system instruction. And then, um, you
- 11:02
can create an agent because, like, sending a request is nice and having all of the configuration stateless is also very good. But what if you want to share it? Or what if team one builds an agent team two wants to use? Um, therefore, we created the Agents API where you can define the base agent, so what's the underlying brain, so to speak. You can define instruction and then also the, uh, environment. Um, and the environment can be raw environment, like with sources, or you can, uh, use an existing
- 11:31
environment. So you can think about I have some kind of a scaffolding to do where I need to install, like, the GitHub CLI, uh, add some skills, and maybe do some, like, sanity checks. I can use the agent to create its own environment, and after the agent is done, I get back an environment ID. I can use that environment ID to create the new agent, and every time I call this new agent, it will start from that already pre-loaded, pre-configured
- 12:01
environment. And so it's, like, very easy for you to use agents to build their own environments and then, like, to create agents out of them which you can share with your users or with your customers without- Writing any terraform without thinking about Kubernetes, microservices, Firecracker, or anything else. And to make it easier for you and for your coding agents, we created a CLI for the Gemini API. So it's, it's not a coding agent. It's not Gemini CLI. It's really an, a
- 12:31
CLI that your agent can use to call the Gemini API, meaning it can call NanoBanana or Omni if you want to generate some assets. But you can also use it to create those agents, iterate on those agents, and improve those agents. The QR code should bring you to, like, the GitHub repository. And then also we have dedicated skills for working with the interactions API and the agents API, um, if you want to, to play around with it, uh, later.
- 13:01
And now let's, let's do some, some demos. So I'm in AI Studio inside the AI Talk Radio. If you have seen or attended the Google IO developer keynote, you might have seen, uh, this already. Um, that's just a simple UI on top of a managed agents. We, uh... managed agent. We are going to look, uh, at the agent in a little bit, but it's basically a talk show radio. And that talk show, um, agent has access to
- 13:31
all of the different Gemini models, so it can generate a thumbnail, it can generate, um, speech, it can generate music, it can do research, and it's basically a one-shot radio generator, and we give it a try. And I want a talk show radio on whether pineapples belong on a pizza or not. And it's free to use, so if you go to the applet later, uh, you can,
- 14:01
like, have free daily usage to cre- create your own, um, AI talk show radio. And what happens is, like, first step, we start our environment, and then the model start thinking on what it needs to do. And then the first step is, like, it installs our Python dependencies, and it reads our skills, and then it continues to work. Since this will take a little bit, I already ran a talk show radio on whether we should put in cereal first or milk first. And the very interesting
- 14:31
part about a talk show radio, it's not like a podcast you listen to. It's really, you have multiple, um, people, like, reasoning and, like, sharing their opinions on it, and we give it a quick listen.
- 14:43
Is there a correct physical order to preparing your breakfast bowl, or are we flirting with culinary chaos? Welcome to AI Talk Radio. I'm Paul, broadcasting from our London studio. Today, we are exploring the great breakfast debate: cereal first versus milk first. We will objectively break down the pros and cons of both methods. Let's go to our lines. We have David calling from Boston. David, you're on the air.
- 15:14
Yeah. Thanks, Paul. Look, i- it's gotta be cereal first. It's basic logic, right? Cereal is the independent variable. You pour it, you see the volume, then you add milk to complement it. Plus, like, if you pour dry cereal into a bowl of milk, it splashes everywhere. It's a total mess. And the mashed potato analogy, you wouldn't put gravy in a bowl and, uh, drop a lump of potatoes on top, right?
- 15:40
A striking analogy, David. Cleanliness and portion control are certainly strong arguments. Let's hear the counterpoint. We have Sarah on the line from Sydney. Sarah, welcome.
- 15:53
Hi, Paul. Okay. Look, David has it all wrong. Milk first is-- it's a total game changer for texture.
- 16:00
Okay, cool. So if you want to play around with it yourself, you can go to ai.studio. And on ai.studio, you have that build section on the left side, and there is a gallery. And gallery is basically pre-built applets, use cases for Gemini. And if you scroll down to it, uh, you have new build experience with, and there is the talk show radio. If you click on it, you will find the applet. You can, uh, remix it, meaning you can, like, adjust it. So if you don't like talk show radios, and you would
- 16:30
rather have, I don't know, some real podcast, uh, application, you can, like, very easily, together with Gemini, adjust it to your own needs. And since applets are all open, uh, in terms of code, we can also take a quick look on, like, how our agent really is, and our agent is just files. So we have an agent's MD file inside our environment. That file will be loaded on environment startup, which is then included into the system instruction. Very basic agent
- 17:00
MD file. It has all of, like, the instructions for our agent to do. So it should do some research, write some scripts for the different people, generate music, generate a speech, mix everything together. And to do all of those works, we have skills for it. So if we look into, like, the TTS generation, we have a skill on how to run it. We have a Python file. That Python file itself allows the Gemini agent to call other Gemini models, so it uses the interactions API to generate some speech, which we can
- 17:30
then use. And th- that's all it takes for our agent. And if you want to take that agent from the UI to, like, a back end, it's really, you just need to copy that file and create the agent and then use it. And if you want to play around with the, uh, agent itself, uh, inside the playground, we have, uh, inside the model pickers, a new agent section. So if you want to test deep research, go test deep research. But there's also the anti-gravity agent. And on the anti-gravity agent, we
- 18:00
have six different, uh, agent templates, uh, which you can, like, very easily test, select, and, and see how it works. We go into, like, the, the standard one, and what I really like to do is, like, explore the environment. Like, let's see what the agent finds out about where it is running. We send our prompt and now it starts the environment. Should take for the first request, like seven to 10 seconds, and then we see the agent like doing its work. So we have some reasoning. We have some batch commands. So it runs, okay, checks what, uh, version,
- 18:30
uh, what version I'm running on, what CPU memory I have. And then we get back a response from our agent that it runs on Ubuntu, um, has eight vCPU, 16 gigabyte of memory, Python installed, PIP installed, and then you can like really continue. Uh, let's see. Um, do you have... do we have Node installed? Um, so you can like very easily follow up. Uh, and it just continues based on like my prompt. And then also
- 19:00
you have the option on the right side to download the environment. So if your agent has created some files you want to extract out of the environment, share it, you can very easily download it or there's an API for it as well. And then, um, uh, what else? Uh, to quickly show you again how it works, I can make that a little bit bigger. So when you, when we send a request, um, we like start the sandbox and it
- 19:30
loads all of our files and then we have like this agent loop completely on our server. So when you build agents, normally a lot of times you need to manage the function calling on your client, right? You need to pass the function call, run it so- somewhere and then send back the function result. And with the managed agents it's really just a single API call and everything runs inside that remote sandbox. You can also connect remote MCP servers or l- run, uh, local MCP servers inside of that environment and, um,
- 20:00
yeah, really get started. So if you are interested about it, uh, we have great documentation on site at, uh, Gemini API u- under agents with a quick start which walks you through how to send your first request, build your first agent and get started. And then of course, uh, install the coding skills to have Claude, Codex or whatever model you use to, to help you get started. Uh, thank you for, for coming. If you have some questions, I'm like here.