Innovation Sandbox [Workshop 2]: Building with Nova
Nothing is loaded from YouTube until you press play, and then without tracking cookies.
About this video
NOVA is a privacy-first, decentralized file-sharing primitive, empowering user-owned AI at scale with encrypted data persistence.
In this workshop, we’ll do a deep-dive into the NOVA tech stack, to inform builders working towards the NOVA bounty.
Transcript
6,135 wordsCaptions as YouTube publishes them, usually machine-generated, so product and people names can be misheard.
- 0:33
Hello. Good morning, Near. Uh, thank you for tuning in for the second workshop. Today, we're going to be bringing on Julian who's with NOVA. It's going to be really exciting workshop talking about private memory and what you can do with Near uh when you leverage a lot of its tech stacks such as smart contracts and TEEES.
- 0:53
Without further ado, I'll bring on Julian. Oops. There you are. How's it going, Julian? Good morning. How are you? I'm good. Good morning. Good. Well, uh, we got a couple of mornings in the chat. That's pretty good. Um, are we set for this presentation today?
- 1:15
I have some slides. Oh, yeah. Sorry. No, go ahead. So, you have some slides. Yeah, I have some slides for you. uh like to give a better idea of the whole landscape and also going more in detail about the technical stuff. So I hope you'll like it.
- 1:30
Awesome. Um if you don't mind, could you present the slides at the bottom and then I'll bring them up. Yes, thank you. Show screen. [snorts] There it is. Okay, cool. Is it a full screen or not for you? Uh you can what I usually do is I do that slideshow. If you go to slideshow at the top and then if you we go with it.
- 1:58
Yeah. Uh we want this one. There we go. All right. I'm going to pull down. Um great. Take it away, Julian. Let's go. Uh all right. So, thank you very much, Leot, for setting this up and thank you guys for attending. Um I will present Nova, a project I've been working for some months.
- 2:21
Uh essentially because I started coding uh as a data analyst uh and machine learning and um I got really excited uh about collecting data. I would say like most data guys, I think when you start to use AI for some prediction or you try to to collect more data to to scale up the the model accuracy and and get better results. So I've been starting by accumulating or adlrating uh data by scrapping the web to build my own data sets and make my own AI models. uh
- 3:00
nowadays I guess this practice is a bit duplicated actually because now we have those um big AI companies that are providing like um quite advanced and very well-trained model there is no reason to to make that um uh but yeah still this got me um I mean it's it attracted my attention on some on some topics like data privacy and how do we secure our data uh on on the internet.
- 3:32
[snorts] I had a zero malicious intention when I did these kind of things. I was just a student. I was trying to push my research as much as possible. I was opening my reports and data analysis on medium and I was opening the the machine learning model on GitHub. But still um that was not standard practice. Um I do think that the law on data was more flexible. Uh I think I did that around 2019 2020. Um I don't think it was so restrictive like
- 4:04
it is nowadays. Same as for the platforms. Um but yeah, I I still I discovered when the platform originally authorized us to to automate some of the workflows. I've done that a lot on uh on LinkedIn on X back in the days. Nowadays when you start using bots you are usually your accounts get frozen quite fast. Um and I believe this is because you are messing up with the with their business model. So somehow somehow the big platforms the centralized platforms they have an access to all
- 4:43
your data but they I mean they don't want a single user to collect uh data on other users for for reason that we can uh we can imagine security reasons probably but um yeah I do think that there is something that's a bit like unfair uh those big monopolies can use our data as much as they want and our ourself when we want to uh for example make a market analysis, make a customer analysis, all these kind of things we have to pay the data providers to to get
- 5:20
the data and so that was one first concern I would say but there is more that's coming now because the AI uh the AI makes data valuable uh otherwise I as a creative for example I do not want I do not want my data to be used suppose I don't know you have a hobby um for me it's music but let's say uh you you are uh designer or a photograph for the example and uh if you spend like
- 5:52
some months or some years to to catch the the best picture and then you you have to share it on the internet to uh to get some attention you don't want your picture to to be mashed in some AI that will uh that will plagiate or make it easy to plagiate your work. This is one of the concern and um when we use that when we use AI in the in the context of crypto trading uh there is even more concerning things like you will probably share financial
- 6:24
strategies with your AI assistant. You will also provide personal data to um to get your assistants to know you the best as possible and provide a personalized uh service advice. Um and I find it really concerning there is a sort of mood uh change in uh at least in France at the moment. Uh I believe it's probably the whole Europe.
- 6:51
Um but yeah, France is trying now to force uh crypto holders to provide their um their details, their their uh crypto activity details um to to collect taxes obviously. Um it's a bit absurd if we think about that in a volatile market because for sure the states will uh cut a fee on your profits but they will never give you your money back if the market goes down.
- 7:20
That's one thing. But there is actually something much more um I think concerning. We are seeing a rise of um kidnap attempts or hijacks on on um big crypto holders in France, maybe everywhere in the world, I don't know. But I really don't trust uh the states in being able to handle uh their their databases. We know that uh there have been some data leaks. There are sometimes being hacked. Uh maybe it's
- 7:54
too hard to handle that much data in such a complex or institution as a states. But still uh I don't want my my data to end up in in a centralized database that's potentially uh potentially like yeah compromised or could be compromised.
- 8:13
And so yeah, um we also see how they how they negotiate with social media platforms and uh because of the security reasons they they want the social platform to provide them with a back door so they can eventually check who's doing what's online and uh this is something like they will very probably apply the same method to the AI companies. So I guess that soon if you want to if you want to sign a deal with uh with your AI company
- 8:46
to to work in France or maybe the whole Europe, you will have to accept that the user data is being shared with the states. And um I find it really uh really concerning and so that's why I'm coming with Nova. Actually I believe that we should now as developers build apps that um can see their users data for this very uh exact reason.
- 9:11
And so Nova looks like this. Uh that's the text stack. Uh the only public thing of the system is the is the near smart contract. Uh that is used to record metadata and transaction logs. Um you have a big private stack. Uh the shade agents uh host the keys and like the user accounts same as the the group keys. So we will discuss that more in details but all the keys uh stay in the
- 9:44
shade. They are generated and encrypted uh in the shade. So no one can retrieve it uh if not the the key owner. The decentralized storage uh anything that's being uploaded in the decentralized storage is encrypted only. So there is no plain text data that's being communicated outside of your local device. This is also valid for the MCP server. The MCP server never sees any key nor um no data plain text data on
- 10:20
the user interface. I am hosting the client side encryption and so I'm mimicking the same pattern with the with the SDKs. Nova comes with two SDK, one JavaScript and one Rust. Um, and I believe that's the best way to integrate the decentralized backend service in your in your tab using the ADK. This user interface is really cool to test some um some of your workflows or just to make
- 10:52
to make it fast or to onboard users fast. But then yeah all this can disappear and being automated in your app. And the unencrypted files as I say just stay on your computer. Uh the other the other positive side of client side encryption is that we can uh encrypt much more file formats.
- 11:15
uh in the early version of Nova I was making the encryption of the in in in the server and actually it's sometimes imprecise uh but yeah it was also a bit annoying because um most files like JSON CSV all these files we use for data sets uh they are not supported by the um the average uh LLM and So yeah, that's it. I'm starting with more details. Uh it's quite textheavy. If you want me to I will not I will not uh read everything, but if we
- 11:55
have some questions that pop up in chat or whatever, we know where to find the ender. And otherwise uh yeah um we will go by the main I will I will tell you the main functionality of each of the of the components of the system and then we will we will see at a wider scale how this all blends together. Um the smart contract is used for access control and transaction logging. Um it has the main methods which are register group add or
- 12:27
revoke a group member. um upload uh it's called record transaction here. But so when you upload uh a file, it records a transaction on the blockchain. The claim token function is used for retrieving this uh encrypted file and you have a collect fee uh for the paper fees model of business. We'll see it later. And then I added more view only functions which are quite uh practical if you want
- 12:57
to just chat with your LLM to know hey uh which groups do I own, which groups have I access to um who else is within this same group as me? Uh and this kind of like um daily um daily needs. Um there are some workflows here. Let's say for example we take one workflow the group creation workflow with secure key generation. So when you when you call the contract to register a group with a
- 13:27
group ID you attach some fee uh it checks the the group does not exist yet and it creates the group with an empty checksum. Uh it adds the caller as the member of that group and uh it updates the indexes. Uh I have um vectors for owned groups and group uh members group. The one we just discussed about it emits an event Nova event registered uh is emitted from the blockchain. The MCP detects this event.
- 14:01
It calls the shape agent to generate a key. The key stored in the esculite within the trusted execution environments. it returns as the check sum and then the owner updates the check sum in the group. So that's the full loop uh to create a group with nova uh with a secure key stored in in shade agent.
- 14:26
Speaking of the chain aents the shade agents sorry they have two roots so I'm using I have two databases actually in in the shade aent one is for user keys. So when someone creates an account on Nova, it creates a sub account of my uh main account Nova SDK.
- 14:49
This is made primarily to um collect the fees actually. um I couldn't find a better way um for my users to simply send some bucks uh as a deposit somewhere and and Nova to burn the credits uh when the user use it. [snorts] So um yeah creating an account on Nova will create like um a new near account and uh the shape agent stores the key.
- 15:22
It retrieves the key or you can check the key. Every time you authenticate you can authenticate with your email or social using o zero. you have direct authentication with your wallets and uh the SDKs are authenticated through the API key that you can generate on the same uh interface.
- 15:42
[snorts] As for the file operations uh there is this second route uh which is what like keys management uh and this is where the group keys are generated within the shade agent uh it never gets out and when you need to access a group uh you will prove that you have a valid token in your hand to get the key and uh and access your file every time one group member is being revoked then there is a
- 16:15
key rotation so that person cannot access anymore to the files that were stored within this group the decentralized storage I'm using IPFS with pinata um pinata makes it uh immutable and u easily retrievable actually uh IPFS by itself uh is a content addressable um storage which means that every time suppose you have a data set that's uploaded if the data gets compromised for whatever reason it could not happen inside Nova but let's
- 16:57
say I don't know someone changes u a character within this this data set then the encryption will be totally different and the seed will be totally different so you will automatically see uh clearly that This is not the same file as the one you try to retrieve.
- 17:16
Yeah. Or the one you previously uploaded. [sighs] The that's one thing. Um what else? Onchain integrity. I'm sure. Um yes. So uh the SID and the hash are recorded on the near blockchain every time you uh record a transaction. Um that's good for indexing. Um actually there is no using IPFS and pinata there is uh no central custody. So unlike uh AWS S3 or Google clouds or I've been discussing about the advantage of Nova
- 17:56
against um Dropbox for example. Uh what makes it really powerful is that there is no database that could be eventually like compromised or that could stop their services one day. uh your data is there on the decentralized storage is there forever and like no one can access it without the appropriate key.
- 18:21
The MCP server is uh the orchestra uh it makes like the link between the front end and the back end uh and it's really convenient because you can chat with your system in human language. Uh it's has the same tools as the one we've just seen in the smart contract like register group at reo group member um record new transaction. Then you have the get shade key uh command um and uh you have the prepare upload finalize upload prepare retrieve functions methods uh which are the ones
- 19:01
used by the the front end for client side encryption. And then you also have those equivalent uh queries uh for the view methods. Um yeah and uh the MCP server also have rest vtors for the API calls by the SDKs. Should we maybe look at one of the workflows? Let's check the end to end encrypted file upload. So the client preper um the client call sorry preper upload with a group ID and the file name. The MCP server will fetch the key
- 19:39
from the shed agent. Um it will return a temporary upload ID and key that's then the client. So it could be the the interface nova sdk.com or the SDK. The client will encrypt uh the file, the data that need to be uploaded [snorts] and uh it will call the finalized upload with this upload ID that contains the the secure key. Um the encrypted file and uh and a file hash.
- 20:11
Uh the MCP validates the ID and uploads to IPFS and then the contract is called to record transaction. So we had this um forever memory of the of the file upload on the on the near blockchain and it returns the SID uh which is your uh URL or address to to know uh where your file is in the in the decentralized storage and at the end the client verifies the hash to be sure that uh yeah it's the right data that has been uploaded and there is no corruption in the process.
- 20:51
on the user interface. Uh this is where you will essentially find your login and your API keys. So even though if you would like to use um Nova by your FDK only, you will need to go to Nova to create an account and uh generate an API key for your uh SDK to use it in the background.
- 21:16
This interface features the login and authentication as we said with the new wallet email or Google GitHub. You have the chat interface which is gated to authentified users. So you need to be authenticated to use the Nova chat. Uh it streams all MCP tools. I'm using Cloud Hiku for now um because the taxs are not um yeah the tasks are not so complex. So um yeah I think this light version of uh anthropic
- 21:49
models is quite is quite good enough for for what we are doing here and um and yeah you have this encrypt decrypt uh client side um methods. So that's one thing. Uh let's check the the user on boarding. Uh on your first login you will have to create an account. So you click login. uh there are two path uh email or social through uh O zero or the Neo wallets. The UI will check uh will call either check for account in shade to be sure that no accounts is already created with that
- 22:28
email or um wallet. It will open the create account model. The user choose a username. it it automatically appends the the sub account uh suffix and then it creates a nova accounts uh using my account as a signer. So that was also the other thing creating sub accounts it allows me to pay for the account subscription. I think that it could be um it could be a a nogo if you start to ask people to pay upfront like I don't know I think I prefer sponsoring the account creation so the user is on
- 23:06
boarded he can start to chat with the app and and see that okay it looks legit it's working and then they will put some money to to make their file operations and uh yes so once the account is created um it stores a private key in the shade it return the account ID and the user interface injects the key directly in the wallet connector to autoconnect your Nova accounts and um every time you go back to to Nova you
- 23:36
will have your accounts being automatically detected and and connected but these are pretty much the same uh functionalities except that it's coming with the SDK um it features the client side encryption decryption uh the authentication and initialization methods. You can uh handle your group operations, the members management, file operations. Um that's pretty much it. Um yeah, you still have to create your accounts and API key on the interface.
- 24:14
And so it to integrates like this. I like this diagram which is quite um easy to understand I think. Yeah. So as you can see we have a front end of the site on one side uh is the user interface or the client SDK. The front end is made for the onboarding steps for natural language commands uh for the client side encryption and the developers integration.
- 24:42
Um both interface communicate with the MCP server which is the orchestra uh of this system. Um and then as you can see the MCP server will uh register groups and members operation on the Nova smart contract which uh triggers events like key generation or key rotation to uh the shade agent in FASTE and the MCP server also communicates directly with the shade for authentication uh user authentication essentially.
- 25:21
The back end here is composed of the smart contracts and uh the shade agent. Uh it's made for access control, user authentication, key management and fee collections. And on the side you have this data layer uh where you upload and retrieve your files from. Um and yes, the centralized storage IPFS.
- 25:45
[sighs] All right. uh we can check all them maybe not in detail now but uh I have been very cautious to be sure that uh Nova is bulletproof and uh that Nova can resist to all threat uh like keyfration it's not possible to replay tokens because the tokens for example are they have a short time window of 5 minutes and uh they can use ons so yeah it makes it impossible for someone
- 26:16
to reuse use the token you claim to access your group. All these kind of things actually could not be used for um for hacking or for for getting uh data maliciously. It's not possible to impersonate uh the signature system uh because you need uh the key to do that and the key stored in the TE.
- 26:44
Um, no man in the middle attack possible. Well, uh, we can go in more detail if you want to. I would like to speak something uh more easy. The B business model uh I implemented a simple payer action fees. I think that it's good that my users will uh spend some some money to have let's say a deposit that's available and then burning this uh deposits uh when they use their system. Um
- 27:17
I think it's I think it's more comfortable than than maybe charging fees every month or something like that. This this will maybe change but for the moment that's it. I think it's good like that. [snorts] And so essentially I try to simulate uh what would I need to to do? How many users would I need to get revenue of uh 10,000 USD on the expense side? I'm uh spending mostly for FAT. um for fast MCP that's hosting the server
- 27:52
and Versel that's that's hosting the interface it's about 1,100 uh yearly spendings and on the income side I have three user profile the first one which I call the testing user they probably not spend more than $1 uh just to test creating one group uploading one file maybe retrieving it twice and and querying in the the system three times like yeah just to check how it works. That's one
- 28:22
thing I believe they will represent maybe 60% of the of the user base. We'll see. Uh the next one will be the average user. It's quite low in terms of spending. Uh so I might be a bit like pessimistic but anyways yeah uh this average user will create one group with four members and upload maybe 10 files retrieve it 20 times and and make 15 queries and the active user someone who starts to spend more than $5 every month
- 28:54
at NOVA will probably have like at least three groups uh at that time 10 members 25 file upload 50 retrieve this This means that active user is the one who knows what he's using, why he's using Nova. Actually, he has a business or he has an activity that um yeah, make it obvious for him to spend a bit of money in uh the secure file sharing system.
- 29:20
And so yeah, um I had this evaluation um with about 450 users um I will generate um $10,000 uh US dollar with this current business model in terms of milestones. So I started with uh I started with this system last year. I think in in February or March um I started to research about data privacy using an open ledger and uh this is when yeah I've read some academic papers on the topic one in particular got my
- 30:02
attention and inspired the no architecture I started to prototyping uh I think it was in April already uh but I've been very busy on other stuff in May I couldn't finish it before for the summer. Uh I took a break from coding in August and when I got back in September, I started from scratch. I think I had a fresh mind. I also got um the direction of the near con. So I knew okay maybe I mean yeah somehow I see a sort of road map. uh I had almost six months to build
- 30:36
uh to build something that would be useful for the neon and um yeah I iterated I think three times maybe four but let's say three big times it took me one month for each a bit months for the last one two months for finishing the user interface basically I've been I collected your feedback uh Elliot uh I think it was early October you gave me some interesting tips to to move on the
- 31:02
second iteration I've had a discussion with Eric at Near AI who also like explained me a bit uh how how to set up this uh multi-user interface for my remote MCP server and I also had an interesting feedback from um Owen. So essentially yeah these are the three three prototypes I've been doing to build Nova as it is nowadays.
- 31:28
We are on the first quarter of 2026. Nova is mainet. I'm starting to register the first users. Um I'm expecting more of course with the with the uh the new innovation sandbox. What I will probably start to do after the near con will be to work on my business developments. For the moment Nova is great because it's versatile so it can be a bit everywhere.
- 31:53
Uh but still would like to have a refined customer research to know exactly who could buy Nova. uh I believe that in the B2B space there are probably a lot of companies who want to use that who want to use AI to automate their workflows but they don't want to open their company's data and so yeah I'm pretty sure there is something to find here I need to investigate more in my in
- 32:17
my customer profile and so hopefully uh I will find the product market fit um by I don't know by June July uh I will double down on the marketing uh when I will know who I am talking to and uh and then yeah it will be about sales and customer support on boarding like um on boarding more Nova users. If everything happens like uh this like expected I will maybe like probably start start to
- 32:49
re-engineer Nova uh to fit uh its first batch of users. And that's it. If you want to contact me, you can do that on X at nova SDK and Telegram. Same I have a group there. Um first user have started to to send their their message there. So I could provide the support. This probably the best way.
- 33:16
Um yeah, the telegram group if you want to reach out or if you want some help to integrate Nova in your system and yeah that's it. I'm all yours. It's great. Julian, here actually go go back and bring that uh that last slide up. Let's have that QR code that you had for the telegram open.
- 33:37
Um that was a great presentation, Julian. Really well done. Uh I especially two things that came to mind were one I love how you leverage so much of the near stack to to achieve what you're doing this this sort of private memory. how you have uh you're leveraging the smart contract with the TE. You're you're using that shade agent framework where the smart contract can only take in requests from a TE that
- 34:03
matches that code hash, right? And then that's how you're doing this sort of like uh private memory group encry encryption um leveraging an API key to that TE uh to encrypt the data that you access. I've tried it out myself. It is it is it's a it's an intuitive um SDK. I actually uh I really like it.
- 34:30
I do want to You have a bounty though, right? Yeah, I have a bounty. I have a 3,000 bounty. Um, let me clean that up. Yeah, there you go. Tell tell us about this bounty. So, the whole idea is to uh to to get closer to my market fit. Um, I can come with ideas, but I do think that the the participant to the hackathon know better. uh I mean uh they are there are more they will probably try most of uh probably things I haven't think about.
- 35:09
So yeah um if we think of the business model of Nova Nova will collect money by uh file operations. So if we could find like um an app that will be hungry for um data exchanges analysis things like that. this will probably good give a good um financial base to um to Nova.
- 35:35
[snorts] Um so otherwise I think the idea behind EBI sponsoring this uh innovation sandbox is to um yeah to let the final user tell me in which direction I should uh drive Nova. That that's the thing. Gotcha. And so a lot of these like what these ideas that you have here, what they have in port, what they have in common is this um you you essentially it's it's when you have like two
- 36:14
near accounts that are both a part of a group and can access the same encrypted data. Yes. And so that opens up a lot of different ideas. I was trying it the other day because uh I had it like let's say you have like a container like a and you want to like I I had like a cloudflare sandbox container and I was trying to save save environment variables locally like push them out to that um to that
- 36:48
container but I could I could set up two accounts and I set up one locally so that I could save those variables into that account into that group and then before deploy my host would um be the other part of that group and could query and get those get those variables. It's it's good for like transfer in a lot of those ways.
- 37:13
Yeah, exactly. I I started my my use cases uh with something that's um I was thinking of financial use cases, healthcare records. um I started with these kind of things but um I don't know which exactly um model will fit a market uh for mass adoption because that's what we are looking for. So from my perspective, let's say as um as a tech guy who likes u workflow automations and uh and yeah, I'm imagining that um that Nova will be
- 37:53
useful for a stream of AI agents that will pass data from one to each other to learn from each other to make some sort of collective or federated learning at scale. Uh but yeah, who knows? This sounds a bit um this sounds a bit too scientific maybe for the market. I have no idea. Um but yeah, that's one option. Uh the private memory seems to be something interesting. Uh I think it was you Elliot who told me that you maybe wanted
- 38:24
to think of family chat to record memories. Um I'm pretty sure this is something um yeah most people uh non- techsavy people can find it interesting like um why don't we create a group with uh with pictures from our grandparents and and some videos and stuff. So um yeah that that's maybe that's maybe another way uh to to to encrypt uh some private memory uh that you want somewhere forever. Um,
- 38:59
cool. We got we actually we have one question. Um, let me pull it up kind of related to that. So, somebody was asking if you can use Nova as a Postgress DB and Nova itself uh is a esculite database. Um, I mean no the esculite database is stored in in the shade in the shade agent. Um I don't know honestly what do you mean by that? Nova could be uh well Nova would be uh by default by design a decentralized database.
- 39:35
So maybe Nova replace the posgay uh database in your app. That that's for sure and that's what it's meant actually for. Yeah I hope that's that's the that's your question. So uh I just want to remember you encrypt um you encrypt the data that gets uploaded to IPFS correct?
- 39:58
Yeah. Okay. End to end. So you will mash the your your local file uh with with a key and a temporary token to be sure that the one can like can hijack uh your your file operation. So the the data is being encrypted locally. it goes uh on IPFS and if someone tries to retrieve this uh this data because he found this the SID somewhere the cryptographic hash somewhere it can yeah okay it can it can
- 40:32
access the data but it's unable to decrypt it so yeah it's not an exploitable data actually interesting yeah I'd be interested um I'd be interested in what the storage limits are and I wonder I mean you probably could it'd be a lot of serializing des serializing, but if you could do a SQLite and store a whole SQLite like serialized DB inside of um inside of Nova, I have no idea.
- 41:00
I don't know. I will need to investigate that, but uh people lots of lots of good mornings, lots of support in the chat. Uh Julian, you did a great presentation. Thank you so much. Thank you very much. Um, so that's 3K for the for this uh bounty. Uh, will it all be going to one winner or will it be splitting up between multiple?
- 41:27
Um, well, I think yes. I think the funds will be a bit blended up all together. Uh, I don't know exactly what the what the near executive have in mind, but yeah. Awesome. All right. Well, thank you very much for coming on today, Julian. It was a wonderful presentation.
- 41:45
Um I'm always available as you can see here like you can uh I have an office. So yeah, if you if you are working in Nova uh oh yeah, it can be there or uh with the with the track uh track bounces file that that Eliot had. But um yeah, so if you want you can always book an appointment or let's say you are you are coding your app and you have um yeah you want to discuss about something you can you can book some meeting with me and we can take the time to check that.
- 42:20
Awesome. That's great. Okay. Well, that's it from my side. Awesome. I I don't see any more questions on here, so I think we'll start uh wrapping up right there. Thank you so much for coming on today, Julian. Thank you a lot. Have a good day.
- 42:38
You too. So, want to tap in, scan those QR codes, um try out this bounty. This is just workshop two of the innovation sandbox. Um, we got a couple of other uh workshops coming up this week. I think there's going to be three more. Um, and we got a couple more ecosystem tracks and bounties to go over. So, thank you very much for everybody that tuned in today. Um, and catch you next time.