Skip to content

Your Coding Agent Is 6 Months Out of Date — Jakub Hojsan,…

Talk by Jakub Hojsan, forward deployed engineer at Exa, on why coding and code-review agents fall out of date: models ship about six months behind their knowledge cutoff, so agents may review code changes they have never seen. The talk covers how Exa built search for coding agents, why adding a web search tool alone doesn't solve the gap, how to give agents explicit rules for when to search, and query-dependent highlights that reduce a 100,000-character page to about 500 characters. It also compares transparency, cost, and model-provider independence against built-in web search, previews Exa Agent, and includes demos and Q&A on ranking and structured output schemas. Recorded at the AI Engineer World's Fair 2026 in San Francisco. The description states these topics as the talk's outline; the record does not include a transcript confirming the depth of coverage. # Video Identity Observation: Exa (Coding & Review Agent Search) ## Speaker Self-Identification - Speaker introduces himself: **"My name is Jacob Hoisan. I'm a Ford deployed engineer here at Exa."** (likely "forward-deployed engineer" given transcription variability). - Explicit role statement: helping customers set up Exa — **"if you'd like any help in setting it up, that's my job."** ## Claimed Scope of Exa's Products - **Semantic search engine for LLM context**: "we have a semantic search engine that essentially you pass in a query and we provide you context rich highlights to pass into your LLM." - **Coding/review agent focus**: presentation covers "how we built search for coding and review agents." - **New offering — Exa Agent**: "we have a new offering. It's called Exa Agent," surfacing data from partners: "similar web for web analytics, particle for podcast intelligence and crunchbas for private markets." - **Claimed customer base**: "Cursor, Cognition, Warp, Code Rabbit, all of these companies now use Exa to power their web search" and "we're powering the biggest financial firms and hedge funds." - **Claimed differentiators** (creator claims, not independently demonstrated): transparency ("You get the entire trace of what we looked for"), token-efficient highlights, cost efficiency, model-provider independence, zero added latency ("we add zero extra latency to our search call"). - **Index scale claim**: "tens of billions of documents index" with curation ("we don't have as many documents as Google... very high quality documents"). ## Intended Audience - **AI/agent engineers**, evidenced by: conference setting ("AI engineer conference" query demo), references to "cloud code," "sonnet 46 or 47," Claude Code, OpenAI/Anthropic APIs, MCP integration. - **Prospective customers**: repeated CTAs — free credits QR code, "talk to me after the talk," email for setup help, "you could simply call us via our MCP." ## Observable Presentation Patterns - **Technical demo style**: walks through a real PR diff (Qdrant vector store dependency bump example), a live biography query demo, and a schema-generation feature demo. - **Sales-oriented framing**: positions Exa against native OpenAI/Anthropic web search ("black box that exists"), emphasizing competitive pricing and quality. - **Conference talk format**: opens with "Can you all hear me?", ends with audience Q&A on reranking and schema fields. - **Attention-grabbing title framing**: "Your Coding Agent Is 6 Months Out of Date" tied to the demonstrated knowledge-cutoff gap argument ("we're typically lagging around 6 months from the knowledge cutoff date"). ## Distinguishing Claims from Demonstrations - **Claims (unverified)**: customer logos (Cursor, Cognition, Warp, Code Rabbit), powering "most of the Bay Area," hedge fund clients, cost/quality superiority, index size. - **Demonstrated in-talk**: a runtime snippet-retrieval query (biography/hobby example), a query about conference attendees and Exa employees, schema generation UI, and a diff walkthrough — all as live/screen-shared examples described verbally. # Delivery Observation — "Your Coding Agent Is 6 Months Out of Date" (Jakub Hojsan, Exa) ## Overall Impression The speaker delivers a fast-paced, product-demo-driven talk. He leans heavily on **concrete examples**, **casual filler language**, and **direct audience address** to keep a technical pitch conversational. ## Recurring Verbal Habits - **"But yeah" / "But yeah, um"** appears as a transition crutch throughout, often to pivot or close a point: > "Um, but yeah, this is like one of the many applications that we have" > "But yeah, um I think this is quite exciting" > "But yeah, cool." - **"Quite literally"** is a repeated intensifier used to emphasize precision or scale: > "you're feeding it quite literally only 500 characters" > "we're quite literally just pulling certain lines at runtime" > "you can quite literally find anyone that has ever mentioned this conference" - **"In this instance" / "in these instances"** recurs as a framing phrase: > "So in these months leading after the cutoff date..." > "So, there's four things that AXA kind of gives us a model." - **Filler density**: heavy use of "um," "uh," and "like," especially in transitions ("like a bajillion lines of code," "like, why isn't my code compiling?"). - **Audience check-ins and asides**: > "Can you all hear me? Good. Sweet." > "Hopefully, you can see that all right on the query there." > "since I'm more of a visual learner myself" ## Teaching Habits - **Concrete, worked-example-first teaching**: nearly every concept is introduced through a specific scenario — the "cooter vector store PR," a Stack Overflow workflow, a personal bio lookup demo, a query for "all of the people that are attending the AI engineer conference." - **Contrast framing** (human vs. agent, with vs. without search, native tools vs. Exa): > "many people without web search will go see okay here's the error the diff looks consistent and it looks like a cleanup but that's really not the case." - **Enumeration**: he numbers value points explicitly ("there's four things that AXA kind of gives us a model," "There's obviously kind of a two-step process here," "it's a multi-stage process"). - **Deliberate informality for scale**: playful hyperbole like "a bajillion lines of code" used twice in close succession. - **Visual/dem­o orientation**: he narrates a GIF and live-style demos rather than staying on slides ("here's a quick gif of kind of how this works since I'm more of a visual learner myself"). ## Communication Patterns - **Persuasive product pitch rhythm**: problem → human analogy → failure case without the product → solution → enumerated benefits → demo → call to action (QR code, free credits, email). - **Name-dropping for credibility**: > "Cursor, Cognition, Warp, Code Rabbit, all of these companies now use Exa to power their web search." - **Personal availability as a closing move**: repeatedly invites direct contact — "that's my job. So you can feel free to send me an email." - **Q&A handling**: answers are structured and layered with hedged qualifiers ("um and it's a multi-stage process... There's several steps in between"), then defers detail offline: "feel free to talk to me after." ## Uncertainty Notes - The transcript is short (one ~12-minute talk plus Q&A), so patterns like "quite literally" and "but yeah" are clearly repeated, but finer stylistic traits (e.g., whether the hedging in Q&A is habitual) rest on limited evidence. - Some transcript segments appear garbled by automatic transcription (e.g., "I'm a Ford deployed engineer," "when to use web search uh since oftent times"), so word-level claims about pronunciation or exact phrasing near those spots carry uncertainty. - No curated metadata was supplied; observations are drawn solely from the transcript. # Observation Record: "Your Coding Agent Is 6 Months Out of Date" **Source:** Video `01a15ca7-2171-7984-a62f-daa808e68f0a` **Speaker:** Presenter identified in the metadata title as **Jakub Hojsan, Exa**. The transcript renders the name as "Jacob Hoisan" and gives the role as "forward deployed engineer" (transcribed as "Ford deployed engineer"). The record attributes all content to this presenter. The transcript contains no other speakers, aside from an unidentified audience questioner whose question is paraphrased by the presenter. **Nature of content:** Vendor presentation for Exa's search product, with a live Q&A segment. --- ## 1. Core Problem Statement ### 1.1 Knowledge cutoff gap - **Claim:** Large language models used in code review and coding agents have a knowledge cutoff, and the presenter states that models are "typically lagging around 6 months from the knowledge cutoff date to the release date." - *Basis:* Stated with reference to a graph shown on screen, which is not described in the transcript. - **Consequence stated:** Changes made in the months after a model's cutoff (e.g., changelogs or PRs) fall into a "model blind spot" the model cannot reason about. - **Example offered:** A Copilot vector store PR made "a few months back," described as falling after a specific model's cutoff. - *Transcript note:* Model names here ("GPD 5.5") appear garbled and are not verified against the transcript. ### 1.2 Illustrative diff review - **Scenario:** A diff removes a parameter (described as an "inertia check"). - **Naive reading:** Without web search, a model "looks consistent and … like a cleanup." - **Presenter's position:** "That's really not the case." The removal is needed because the code must be refactored for a **dependency bump**. - **Reasoning stated:** Web search lets the model inspect the repository, its breaking-change changelog, and explain the migration. --- ## 2. Search Architecture Claims ### 2.1 Output format - **Claim:** Exa is a semantic search engine that returns **context-rich highlights** rather than the "10 blue links" typical of Google. - **Claim:** Only a small relevant snippet of a page is returned, not the full page. > "You're not feeding the model 100,000 characters anymore. You're feeding it quite literally only 500 characters to answer the question." - *Note:* Specific character counts are illustrative; no measured benchmark is given in the transcript. ### 2.2 Interpretation step vs. non-LLM extraction (apparent tension) - **Statement A:** A query triggers "an interpretation step which will take that entire page and distill it down into exactly what the large language model needs." - **Statement B:** For highlight retrieval, "we're quite literally just pulling certain lines at runtime, not using an LLM. This is completely computational." - **Status:** The transcript presents these without reconciling them. They may refer to different stages or products, but the presenter does not say so. **Unresolved in source.** ### 2.3 Latency - **Claim:** Extraction "cut zero" and "add[s] zero extra latency" to the search call. - *Basis:* Stated by the presenter; no measurements are shown. ### 2.4 Multi-stage ranking (Q&A) - **Stated process:** Query → query embedding → intermediate steps including keyword filtering alongside semantic search → reranking → dropping irrelevant results. - **Index philosophy:** The index is "highly curated" and smaller than Google's. The presenter expresses confidence about quality: "I bet you that we have very high quality documents in our like tens of billions of documents index." - *Status:* The quality claim is qualified as a belief ("I bet you") and is not supported with data in the talk. --- ## 3. Two-Step Integration Argument The presenter argues that adding a search tool to an agent is **not sufficient** on its own. 1. **Instruction step:** Models may not know when to search, and web search is often not built in. - **Example:** A model in Claude Code claimed a requested version ("Sonnet 46 or 47") did not exist, despite having a web search tool. The presenter attributes this to the model not knowing the version exists. - **Proposed remedy:** Provide rules, e.g., "when you have a diff that bumps a dependency or version, … look at the upstream source to verify … then ground the actual review in what you find." 2. **Execution step:** The search must actually be executed through the tool. --- ## 4. Claimed Advantages of Exa over Native Provider Search The presenter identifies **four** advantages. ### 4.1 Transparency - **Claim:** Native search from OpenAI or Anthropic is a "black box": a web search API is called, results are synthesized over "up to 10 seconds," and the user gets some sources but no content. - **Claim:** Exa exposes the full trace: exact queries, exact sources, and the highlights passed to the model, usable in telemetry. ### 4.2 Token efficiency - **Claim:** Highlights distill pages into what the model needs (see §2.1). ### 4.3 Cost - **Claim:** Native provider search costs are often large enough that users "don't notice your web search bill." - **Qualified claim:** At "sufficiently large workloads," Exa is "priced actually much more effectively" and offers "much better quality in most instances." - *Status:* Qualified by "sufficiently large" and "most instances." No prices or comparisons are given. ### 4.4 Provider independence - **Claim:** A third-party search tool offers standardization, since one fixed API and parameter set works regardless of which model provider is used. The presenter names GLM and new Anthropic and OpenAI models as examples. --- ## 5. Product and Customer Claims - **Early adoption:** Developers wanted Exa for coding docs, which motivated the presenter joining. - **Named customers:** Cursor, Cognition, Warp, and Code Rabbit are said to use Exa for web search. - *Basis:* Stated by the presenter. - **New offering, "Exa Agent":** Positioned for cases where the user doesn't want to orchestrate their own search. - Partnerships with data providers are named: Similarweb (web analytics), Particle (podcast intelligence), and Crunchbase (private markets). - The presenter says this serves "the biggest financial firms and hedge funds." This is a stated claim without supporting detail. - **Example queries demonstrated:** - Finding people who mentioned a conference (the presenter says some of the people he knows and has emailed him appeared in results). - Finding employees of a company, including emails and LinkedIn profiles "for outbound." - *Ethical note:* The presenter presents contact-finding as a capability without discussing consent or privacy constraints. The record reports this as stated only. - **Generality claim:** Highlights work "across any type of query," e.g., a biography, phone number, or Nvidia news mentioning Jensen. --- ## 6. Structured Output (Q&A) - **Feature:** Users can generate a schema in natural language for structured output. - Limits stated: up to **10 fields** for "deep" and up to **100** for "agents," with the presenter's uncertainty marked ("I believe"). - **Behavior claim:** Outputs "adhere" to the schema. Setting additional properties to `true` allows extra fields. --- ## 7. Calls to Action - Use Exa via its **MCP**, which the presenter says is available on "basically every single provider that supports it." - Contact the presenter by email for setup help. - Free credits are available via a QR code or by speaking to the presenter after the talk. - A website link was mentioned ("exit connect"), but the transcript is too garbled to confirm the exact URL. **Not recorded as a verified address.** --- ## 8. Transcript Reliability Notes | Item | Issue | |---|---| | Speaker name | "Jacob Hoisan" in transcript vs. "Jakub Hojsan" in metadata | | Role | "Ford deployed engineer" likely means "forward deployed engineer" | | Model names | "GPD 5.5," "Sonnet 46 or 47" may be transcription errors | | Product/URL | "exit connect" is unclear | | Slide/graph content | Referenced visuals (knowledge-cutoff graph, GIF) are not described in the transcript | | Q&A | Audience questions are paraphrased, not transcribed verbatim | --- ## 9. Summary of Unresolved Tensions - **Interpretation step vs. non-LLM extraction** (§2.2): not reconciled in the source. - **Quality and cost claims** are presented as qualified beliefs or general assertions ("I bet," "most instances," "sufficiently large") without supporting data. - **Latency and token-reduction claims** (§2.3, §2.1) are stated without measurements. - **Vendor perspective:** All comparative claims about native search providers come from a competitor's presenter and are not independently verified in the transcript. # Video Attribution & Provenance Record ## Video Metadata - **Title:** *Your Coding Agent Is 6 Months Out of Date — Jakub Hojsan, Exa* - **Video ID:** `01a15ca7-2171-7984-a62f-daa808e68f0a` - **Setting:** Conference talk (references the "AI engineer conference"), including live demos and audience Q&A. ## Speaker Identification | Speaker | Role | Basis | |---|---|---| | **Jakub/Jacob Hojsan** (transcript self-identifies as "Jacob Hoisan"; title says "Jakub Hojsan") | **Creator / presenter** — self-described "forward deployed engineer at Exa" | First-person introduction: *"My name is Jacob Hoisan. I'm a Ford deployed engineer here at Exa"* | | Audience members | **Unidentified questioners** (at least two questions audible; audio not transcribed with names) | Q&A exchange near the end of the talk | > Note: Spelling of the speaker's name differs between the title ("Jakub Hojsan") and self-introduction ("Jacob Hoisan"); recorded as-is. "Ford deployed engineer" appears to be a transcription artifact of "forward deployed engineer." ## Referenced Sources & Claims (per speaker) ### Products & companies mentioned - **Exa** — semantic search engine for LLM/agent contexts; "Exa Agent" (new offering); MCP integration - **Customers claimed:** Cursor, Cognition, Warp, CodeRabbit - **Data partners claimed (for Exa Agent):** Similarweb (web analytics), Particle (podcast intelligence), Crunchbase (private markets) - **Native web search tools:** OpenAI and Anthropic web search APIs - **Models referenced:** "GPT 5.5," "Sonnet 46 or 47," "GLM" — third-party claims by the speaker - **Other tools/platforms:** Stack Overflow, GitHub, Cloud Code (likely "Claude Code") ### Technical claims by speaker (not independently verified) - LLM knowledge cutoffs lag ~6 months behind current events - Example: a "Cohere vector store PR" in the model "blind spot" - Highlights are distilled to ~500 characters rather than ~100,000 - Exa index described as "tens of billions of documents," "highly curated" - Runtime highlight extraction described as "completely computational" with zero added latency ## Promotional Segments — **flagged** - Product pitch for **Exa / Exa Agent** throughout; explicit CTA: *"you can go to exit connect"* (likely "exa.ai/connect" — artifact) - **Free credits offer** via QR code / speaking to presenter after the talk - Recruiting-style pitch: *"that's my job. So you can feel free to send me an email"* - Live demos of Exa capabilities, including a query finding conference attendees with "emails and LinkedIns for outbound" ## Availability Limits - **No curated metadata supplied** beyond title — no speaker bio, citations list, or description - **Comment availability:** not stated in source - Q&A audience questions are **not fully transcribed**; only the speaker's answers are captured - Visual elements (slides, GIF, graphs) referenced but not present in transcript ## Content Type Vendor conference presentation with product demonstration and Q&A — promotional in nature; all third-party customer and performance claims originate from the presenting company's employee. Hello everyone. Can you all hear me? Good. Sweet. My name is Jacob Hoisan. I'm a Ford deployed engineer here at Exa. And uh today's presentation is on how we built search for coding and review agents and how we power most of the Bay Area. Um, in this regard, um, coding agents don't really need these 10 blue links that you see when you search Google. Uh, what we do is we have a semantic search engine that essentially you pass in a query and we provide you context rich highlights to pass into your LLM. The core problem that we have with large language models in code review and coding agent applications is that there's a knowledge cut off to all of these models. As you can see from this graph, we're typically lagging around 6 months from the knowledge cutoff date to the release date. In these instances, you have this gap that exists between when the model was released and when you might have an important change log or a PR push to a repository that you do have to review. Um, in this instance, I do have an example where from the uh cooter vector store PR um that was made a few months back. This is within our model blind spot after GPD 5.5's cutoff date. So in these months leading after the cutoff date, you have all of these changes being made to real repositories that one you can't create net new repos with, but you actually can't review at all. Um, so that's kind of where Exa comes into play in this instance. Uh, and we'll actually just review this diff real quick so you can kind of see what I'm getting at. But before we do that, like how would a human even review this? Very typically a a human would probably go on to Stack Overflow and say, "Was this like random variable removed? In this case, it's called inertia check." Um, and like why isn't my code compiling? And uh if your code's not compiling, you'll probably just paste the error code into Stack Overflow and you'd actually get the response that you would want and then you would make a PR to the repo in order to resolve it. Now in this case in with using a large language model many people without web search will go see okay here's the error the diff looks consistent and it looks like a cleanup but that's really not the case. The reason why we're removing this parameter uh in this instance is because we actually need to refactor to a dependency bump. So using web search, you're actually able to take a look at the repository itself, any breaking changes from this repos change log and then explain the migration in depth. So what's interesting here is that we don't return the entire GitHub repository page. What we'll return is a very small snippet from the page explaining the change. So if the query is exactly this, we have an interpretation step which will take that entire page and distill it down into exactly what the large language model needs to answer the question. So you're not feeding the model 100,000 characters anymore. You're feeding it quite literally only 500 characters to answer the question. Now adding a search tool to your agent is not enough. There's obviously kind of a two-step process here. Um, if you just bolt on a web search onto your agent, many of you have seen maybe when you're using cloud code, you'll say, "Hey, I'd like to use sonnet 46 or 47 now." And the model will say it doesn't exist, right? So even though it has access to a web search tool, it's not actually like doing anything. Um, because natively cloud code does have a web search tool. Um, and in these instances, the model simply doesn't know that you're requesting a version that does exist. So you actually have to provide the model with a set of rules. So when you're doing a code review agent, the rule might look like when you have a diff that bumps a dependency or version, you might want to look at the upstream source to verify that this is actually true and then ground the actual review in what you find. Um, so when I work with these code review and coding agent customers, there's several instances where this might happen. They might actually add the tool to their agent and then adding it to the harness is simply not enough. So, it's really a two-step process. It's instructing your agent when to use web search uh since oftent times it's not built in and then also actually just executing the search uh in the sentence. So, there's four things that AXA kind of gives us a model. Uh we have transparency. When you're using a native web search tool within OpenAI or Anthropic, you actually have this black box that exists. They they call a web search API. They synthesize all the information. It might take up to 10 seconds and then you get some of the sources and then none of the content. So that's really point one. When you use Exo, you get the entire span. You get the entire trace of what we looked for, the exact queries, the exact sources, what highlights were passed into the model. Um, this is all given to you and can be passed into any of your telemetry to go investigate when something does go wrong. Um, we also provide token efficient highlights, which I'll cover on the next slide, which distills an entire page down into exactly what the model needs. And then it also comes down to cost. Many many of the times that cost from these model providers are actually so large that you don't notice your web search bill. Um but given like sufficiently large workloads were priced actually much more effectively than native web search providers and much better quality in most instances. Um and then another thing that most of our customers are very happy with is that not being tied to one model provider. uh when you use a thirdparty web search tool, you have this level of standardization that exists. Uh you can use GLM when it comes out. You can use the new anthropic models when it comes out. You can use the new OpenAI models when it comes out. And then you have like one fixed API that you're calling instead of everything that the other model providers are using. And you have a fixed set of parameters that are extremely flexible um to what you would need across all model applications. So, here's a quick gif of kind of how this works since I'm more of a visual learner myself. Um, but in this instance, if you're asking about the access search API, we're quite literally just pulling certain lines at runtime, not using an LLM. This is completely computational. So, we actually cut zero, we add zero extra latency to our search call by providing you the contents of pretty much any page on the internet. Um, and I do have an example of how this works. So, let's say you're looking up. Hopefully, you can see that all right on the query there. If you're looking up and then a biography, you'll quite quickly get a result that I love photography and then what I do in my free time. So, I like driving motorcycles. As you can see, it's right here. But then from that same website, I could actually ask for my phone number. And then at runtime, we'll actually just get a completely different set of information. So you can see this is generally applicable to pretty much any use case. In a coding use case, you might have an entire GitHub repo that has like a bajillion lines of code, but you don't want the bajillion lines of code to be passed into your model. And you don't want to use a model to synthesize that information either. Um, so this works across any type of query. If you want the latest news about Nvidia and it has to mention Jensen, then you could also get that. Um but yeah, this is like one of the many applications that we have um in these instances and coding is really just the beginning. Um this is one of the reasons why I joined Exa in the first place. We have we had such a large swath of people that wanted to use Exa as a search API to get coding docs. Um and I was super excited for the application. Um but as we went forward and we took on many popular providers and they loved using us and we provided them a great experience. Cursor, Cognition, Warp, Code Rabbit, all of these companies now use Exa to power their web search. Um but now we have a new offering. Uh it's called Exa Agent. Now there's many instances where you don't want to orchestrate your own search, but you need a good search experience. Uh and that's kind of where it comes in. We partnered with several data providers to not just surface from the web but then also surface highlights from many different places such as similar web for web analytics, particle for podcast intelligence and crunchbas for private markets. So we're powering the biggest financial firms and hedge funds uh with this information. Um and if you want to learn more about this you can go to exit connect. And then I do have a small little message here as well. I ran a quick query. If I wanted to find all of the people that are attending the AI engineer conference, you can quite literally find anyone that has ever mentioned this conference at this location. And it's kind of crazy because I see people that I know and have emailed me here. So, uh, these are most of the speakers that are attending the conference. Um, and this applies broadly across every single use case. If you wanted to find all the employees that work at Exa, you can also do that. And you could also get all their emails and LinkedIns for outbound. But yeah, um I think this is quite exciting and we wanted to package our search in the best way possible um because we can orchestrate our search quite well. But yeah, we're you if you want to use Access today, you could simply call us via our MCP and then we're on basically every single provider that supports it. Um and if you'd like any help in setting it up, that's my job. So you can feel free to send me an email. Um, but yeah, there's also a QR code at the top. Um, if you want free credits, you could also talk to me after the talk. Um, but yeah, if there's any questions, happy to take them. I think I could take one question or two questions. Sorry, I'll come down real quick. I'll get it. Hello. Hello. Uh he asked how we manage the reranking and organization of like billions of documents on the internet basically. Um and it's a multi-stage process. Um so essentially we pass in your query, we turn it into a query embedding and then once we've turned it into a query embedding. There's several steps in between for keyword filtering uh alongside semantic search. But um there's uh many different methods of doing this. Uh but we do employ reranker ranking steps during our search uh in order to give you the best information. Um we drop results that are not relevant. Our index is highly curated. So, we don't have as many documents as Google, but I bet you that we have very high quality documents in our like tens of billions of documents index. Uh, but yeah, if you're interested about any specifics, feel free to talk to me after. But yeah, cool. \>\> Yeah. Yeah. Yeah. So, we actually have this feature that's quite useful. Um, so you could actually generate a schema. So, you up to 10 fields on deep and then I I believe it's up to 100 on agents. Uh, but you basically type whatever you want in natural language and you can generate it and then in this instance it'll generate and then you'll just click confirm and there you go. So, and then we adhere to it and then if you want additional properties, you just set this to true and then you can get whatever you'd like. You could also, my favorite demo is hobbies. But yeah, um, great. I'll take some questions off the stage, but uh, thank you all for listening today. \>\> \[music\]