The Effect of Prompt Engineering and Content Structure Strategies on GPT-4o's Ability to Teach Personal Finance Concepts to Students
Advisor: Ms. Kira Laquidara
The rise of GPT-4o marks a turning point in human-AI interaction, offering a powerful opportunity to reshape how we learn. For the first time, we can truly scale personalized 1-on-1 education without sacrificing the human aspect of it, breaking down barriers that have long separated the privileged from the underserved. Yet, despite its potential, GPT-4 remains underutilized in the education space because of its default generic responses and a lack of focus on meaningful content delivery. This project seeks to change that. By designing a custom GPT-4o-powered assistant to teach financial literacy to teenagers, I aim to harness the educational ability of LLMs. The research will explore approaches to prompt engineering (Chain-of-Thought and Few-Shot Learning) and content delivery (Text-Based and Semantic-Based strategies) along with along with hybrid semantic and text-based content retrieval methods - all in an effort to identify What allows students to retain more info and be more engaged. After using pre- and post-test assessments to measure learning outcomes, I'll be able to get a better insight into What techniques work. In addition to creating a report of my findings, I will be able to construct a platform where educators can upload documents to create distributable models, and students can generate models customized to their areas of interest (with their own materials) - one of the first tools that uses GPT-4o for educational purposes.
Project Blog
Week 0: Scaling Personalized Education!
Hi everyone!
I’m excited to kick off my senior research project, which combines two passions of mine: machine learning (ML) and personal finance. Personal finance is something that affects all of us, but it’s often overlooked in schools. Concepts like budgeting, saving, and investing can feel overwhelming, especially for teenagers. At the same time, I’ve always been fascinated by the power of technology to solve real-world problems. That’s what inspired me to merge these two areas and explore how AI models like GPT-4o can make personal finance more accessible and engaging for teenagers - by acting like a personalized tutor.
Why GPT-4o?
Large Language Models (LLMs) like GPT-4o are a huge milestone in the artificial general intelligence (AGI) race where we seek to build intelligence that rivals or surpasses humans. They’ve gone from simple text generators to tools that can hold complex conversations, understand nuanced questions, and even create entire websites that look like they have been designed by humans. But on their own, these models aren’t optimized for teaching subjects at a deep content level, just scratching general surface knowledge. Being a tutor is not just regurgitating information when specifically prompted, it’s about guiding students with limited initial knowledge into a path where they can learn more.
That’s where my project comes in. I’m designing a custom GPT-4o-powered assistant that can teach advanced finance concepts to teenagers. The goal is to test different strategies, how the AI is “taught” (prompt engineering) and how the content is delivered (content structure), to see what works best. This is the first time in human history we have been able to scale human-human interaction and that extends into education through human-like tutoring.
My Journey So Far
This isn’t my first dive into machine learning. I have developed an image recognition tool, Tomatgenius, which identifies diseases on tomato leaves: a project that earned me a spot at a symposium. I’ve even published and presented an ML based novel cash-flow underwriting algorithm at IEEE.
More recently, I worked on an internship where I developed a chatbot using GPT-4 that’s set to be featured on the company’s website. These experiences gave me hands-on exposure to how ML and LLMs work and showed me their immense potential.
What’s Next?
Over the next few months, I’ll be testing two distinct prompt engineering techniques and two content structure strategies. I’ll be working with teenagers to evaluate how well they learn financial concepts through this AI-powered assistant. My hope is that this research will not only make personal finance more approachable but also provide valuable insights on how we can use LLMs to personalize education.
Stay tuned as I share updates, challenges, and breakthroughs along the way. This journey is just getting started, and I can’t wait to see where it leads!
Post 2: Blog Post 1: The Building Blocks of Financial Literacy
The Building Blocks of Financial Literacy
Hi everyone!
This week, I set out to answer a simple but surprisingly tricky question: what exactly is financial literacy? Is it just economics? Accounting? Market analysis? The truth is, it’s a blend of all these areas. But if I want this GPT model to actually teach financial literacy effectively, it needs a structured curriculum—just like a real classroom.
A GPT model is only as good as the material it’s trained on, so I spent time researching books and articles by economists and financial experts to pinpoint the most essential personal finance skills. Here’s what I ultimately deduced:
The Four Pillars of Financial Literacy
1. The Power of Time
Time is one of the greatest assets when it comes to money. Whether it’s the magic of compound interest or the long-term benefits of consistent investing, the earlier someone starts, the better off they’ll be. On the flip side, the longer you ignore things like credit card debt, the harder it becomes to climb out.
2. Awareness
Knowing where your money is going, how much you’re earning, and where the economy is trending should be considered in financial decisions. Budgeting falls under this, so does setting financial goals, tracking spending, and staying informed about new opportunities or risks. A lot of financial mistakes come from simply not paying attention—internally and externally.
3. Diversification of Resources
We’ve all heard the phrase “don’t put all your eggs in one basket,” and that applies to money just as much as anything else. One should be able to conduct cost benefit analysis to quantify the returns and risks from activities that require investment of time and/or money.
4. Consistency and Discipline
The best financial plans mean nothing if you don’t stick to them. It’s important to avoid impulse decisions like buying a surging stock (because its the new thing), or following the hype of the latest get-rich-quick trend. Financial success is more about long-term commitment than short-term wins. Time is your friend.
This is a pretty general overview of the topics that this GPT model will be trained in.
With this curriculum, I’ll be building a dataset of freely available academic articles and sources that map to each topic. The idea is to provide the model with high-quality, structured content that reinforces these financial principles in a way that's engaging and easy to understand. Instead of just feeding the model raw information, I want to curate examples, real-world case studies, and interactive scenarios that make financial literacy feel relevant and engaging to users.
As I compile these resources, I’ll also be thinking about how to structure the chatbot’s responses: should it act more like a traditional tutor, guiding users step by step, or take a more conversational, Socratic approach to encourage critical thinking? These are some of the challenges I’ll be working through in the next phase. Stay tuned for more updates as I get closer to training the AI tutor!
Post 3: Blog Post #2: From Theory to Practice: Building an AI Tutor That Engages
Hi everyone!
Last week, I laid out the Four Pillars of Financial Literacy that will form the backbone of this project’s curriculum. Now, it’s time to tackle the next big challenge: how do you turn a language model into an effective teacher and measure whether it’s actually working? This week, I dove into three major areas: training the LLM, building a user-friendly interface, and designing tests to evaluate progress of participants. Let’s break it down!
1. Building a prototype LLM
Training a model to teach isn’t as simple as feeding it textbooks. While GPT-4o already has broad knowledge, tailoring it to teach teens financial literacy required careful prompt engineering and domain-specific fine-tuning. Here’s what I learned:
Prompts need to balance guidance and flexibility. Too directive, and the model feels robotic; too vague, and it rambles. I started with hybrid approaches, like starting with a structured question (“Let’s break down compound interest step by step…”) and letting the model adapt based on user responses. The model also needs to be able to quiz participants. Right now it’s functionality is just to teach a concept and answer any questions about it. But there are more features coming!
Avoiding complicated financial jargon: Financial terms like “liquidity” or “amortization” can lose teens fast. And it’s a clear problem in my initial prototype. Some people may not want to be treated like a beginner, some need it. So the model needs to be able to dynamically adapt difficulty and content depth based on participant responses.
Bias Mitigation: Financial advice can unintentionally reflect socio economic assumptions. I added guardrails to ensure the model avoids actionable language (e.g., “You must invest in stocks” or “Invest in stock ABC”) and instead emphasizes personalized, scenario-based learning.
2. Building a Chat Interface
An AI tutor needs a welcoming digital classroom that people can feel comfortable in using. I built a simple web interface using NodeJS and vanilla HTML/CSS/JavaScript (for frontend interactivity). So what do you think about when building a prototype website?
UI elements: LLMs can take a bit to respond, and wait times frustrate users. Although there aren’t any fancy animations on this website prototype, it’s definitely something that I will consider when users wait for a chat response. Also, you have to format a page differently for laptop users, phone users - all depending on the LLM response length.
Dynamic elements: Just writing and reading text can be a bit boring. So it’s important to have interactive elements when making future iterations of the platform. Perhaps I can incorporate tables and graphs when talking about more mathematical concepts.
The interface is still barebones, but I’m quite happy with the way its progressed! Here’s a sample interaction:
3. Designing Financial Literacy Tests
To measure the AI tutor’s impact, I need validated pre- and post-tests from my participants. Existing financial literacy assessments (like the OECD’s test) are great starting point, but I need to know how to interpret results from these tests. It’s not just about how many questions a participant gets right, one must also consider the quality of responses to get a more nuanced understanding of a participant.
Practical Over Theoretical: Instead of asking, “What is a stock?” the test presents scenarios: “Your friend wants to invest their birthday money in a trending app stock. What should they consider?”
Behavioral Insights: Knowledge isn’t enough. I included questions that gauge confidence (e.g., “How comfortable are you creating a budget?”) to track mindset shifts.
Interpreting Results: Beyond scores, I’ll analyze how answers change. For example, did participants move from vague responses (“Save money, I guess”) to specific strategies (“I’d automate 20% of my paycheck into a high-yield savings account”)?
One challenge? Avoiding bias in test design. A question about “emergency funds” might not resonate with teens from wealthier backgrounds, so it’s essential I add open-ended responses.
Next up, I’ll be training my models with more data and spending more time on various prompt engineering and content structuring strategies. See you next week!
Post 4: Blog Post #3: Training the AI Tutor: Crafting Smarter Prompts for Smarter Teaching
Hi everyone!
This week, I’ve been deep in the trenches of prompt engineering to guide the GPT model to produce better, more effective outputs. While the model already has a wealth of knowledge, teaching personal finance to teens requires more than just spitting out facts. It needs to explain concepts clearly, adapt to different learning styles, and engage users in a way that makes financial literacy stick. To achieve this, I focused on two powerful prompt engineering techniques: chain-of-thought prompting and few-shot learning.
1. Chain-of-Thought Prompting:
Chain-of-thought (CoT) prompting is all about getting the model to show its work. Instead of jumping straight to an answer, the model is prompted to break down its reasoning step by step. This is especially useful for teaching because it mirrors how a tutor should explain complex ideas.
For example, if a teen asks, “Why is it bad to only pay the minimum on a credit card?” the model doesn’t just say, “Because you’ll pay more in interest.” Instead it walks through the logic:
Line 1: “When you only pay the minimum, the remaining balance accrues interest.”
Line 2:“For example, if you owe $1,000 with a 20% annual interest rate, you’ll pay $200 in interest over a year.”
Line 3:“If you only pay the minimum, it could take years to pay off the debt, and you’ll end up paying much more than the original amount.”
By structuring prompts to encourage this step-by-step reasoning, the model can generate more engaging answers by walking the user through analytical reasoning. Note the above examples are simplified and real responses would be made to be more in depth.
2. Few-Shot Learning: Teaching the Model by Example
Few-shot learning is another useful tactic. It involves providing the model with a few examples of high-quality responses to specific questions or scenarios. These examples act as a blueprint, showing the model how to structure its answers in a way that’s clear, engaging, and educational.
For instance, I fed the model examples like:
Question: “What’s the difference between a savings account and a checking account?”
Answer: “A checking account is for everyday spending—like paying bills or buying groceries. A savings account is for storing money you don’t need right away, and it usually earns interest over time. Think of it like this: checking is for now, savings is for later.”
By giving the model a handful of these examples, it learns to mimic the tone, depth, and clarity of a great tutor. This is especially helpful for personal finance, where concepts can feel abstract without real-world context, helping with content depth. This ensures the model can behave in its intended manner rather than leaving it to its imagination.
3. Vector Databases: Supercharging the Tutor’s Knowledge Base
While not a prompt engineering technique, vector databases play a crucial role in making the tutor faster and more accurate. Think of them as the tutor’s “memory bank,” where it stores and retrieves information quickly and efficiently.
Here’s how it works:
When the model encounters a question, it converts the query into a numerical representation (a vector) and searches the database for similar vectors. This is different from a text-to-text database as you would only be able to correlate a query with a data point if they have the same keyword.
This allows the tutor to pull up relevant information instantly, whether it’s a definition, a case study, or a step-by-step explanation.
For example, if a teen asks, “How do I start investing?” the model can quickly retrieve a pre-stored explanation, complete with examples like:
“Start by setting a goal, like saving for college or retirement.”
“Then, research low-cost index funds or ETFs as a beginner-friendly option.”
Note that none of these data points have the key word investing or saving. This form of storage and retrieval is for semantic purposes.
At the end of the day, these are all techniques to improve on the default GPT-4o model. As the model trains, I hope it can become a better tutor.
Post 5: Blog Post #4: Platform Building: Turning the AI Tutor into a Usable Tool
Hi everyone!
This week I took a step back from model training and focused on something a little less glamorous but just as important - actually building the platform that hosts the AI tutor. Because no matter how smart the GPT model gets, it’s useless if no one can access it properly or if we can’t evaluate how it's being used.
The first challenge? Creating a backend system that can keep track of who’s using the AI and for how long - without invading their privacy. Since this is a research project, I need to monitor engagement to understand how effective the tutor is. But I’m not logging any of the conversations themselves for privacy reasons. Instead, I’m noting when a browser session begins with randomly assigned participant IDs and the timestamp of when the chatbot was opened and closed (associated with that ID). This way, I can get a sense of how frequently users are opening the tutor and how long they are using it, which gives me insight into whether it’s holding their attention and encouraging learning.
On the backend, that meant setting up a database that can generate and handle user sessions, trigger timers, and store timestamps. Even getting something basic like session tracking to behave consistently across different browsers took more debugging than I’d like to admit.
Meanwhile, the frontend is all about keeping things smooth and accessible. The design is intentionally minimal - just a clean page where users can log in with their ID and start chatting. Still, getting the frontend and backend to communicate correctly took a ton of testing and tweaking. The goal here is for the user to not even think about the platform as they should be fully focused on the tutor itself.
I’m still ironing out some of the bugs, but this was a big step toward going live.
Next week, I’ll be finalizing the session tracking and prepping for the first round of actual usage. I’m excited (and a little nervous) to see how the AI performs in the wild.
Post 6: Testing the AI Tutor: Finding the Right Users, the Right Questions, and the Right Data
Hi everyone!
This week was all about getting real people to participate in this study. Building the model and platform was one thing, but testing it in the real world?
Recruiting Participants: Who Even Wants to Test an AI Tutor?
In an ideal world, I’d have a line of eager students ready to try out the chatbot and provide detailed feedback. In reality, getting people to participate in research studies takes effort. There’s a reason universities and companies often pay participants for their time: people are busy, and unless there’s a strong incentive, it’s hard to get engagement.
Since my goal is to test how well the tutor explains financial concepts to teenagers, I had to find a group that matched my target audience. I started by reaching out to students who already have an interest in finance, like those in personal finance clubs, but that created a bit of a bias. If someone already knows what an index fund is, they might not struggle as much with the chatbot’s explanations, which could skew results. So, I also tried recruiting students with little to no finance background to see how the AI performs with absolute beginners to make sure I get a mix of users with different levels of knowledge, interest, and patience for learning new things.
The Challenges of Testing an AI Tutor
I’m relying on standardized assessments, pre- and post-tests, and testing different versions of the model to see which works best. But testing a chatbot isn’t as simple as giving someone a quiz and grading their answers.
Some key questions I had to consider:
How do I measure if the AI is actually teaching something? If a user gets a good response but doesn’t retain the information, is the tutor really effective?
How long should a session last? If someone only chats with the AI for two minutes, that’s probably not enough time to evaluate anything. But if they stick around for 20 minutes, that might indicate engagement.
What does a “successful” session look like? Is it about the number of questions asked? The complexity of the responses? Whether the user comes back for another session?
To tackle this, I started designing a mix of direct feedback (asking users how helpful they found the chatbot) and indirect metrics (tracking session length, repeat usage, and usage outside of the allotted 15 minute window). I also looked into how education researchers conduct studies on tutoring systems. Some common methods include.
User Surveys: Asking participants how clear, engaging, or helpful they found the chatbot’s explanations.
Behavioral Analysis: How long do they take between queries - to indicate if they skimmed through the bot’s responses or had a hard time understanding the bot’s response.
Over the next 2 weeks, I’ll start administering the pre-test to my participants before giving them access to the bot. See you guys next week!
Post 7: The State of Financial Literacy Among Today’s Youth: Challenges, Progress, and Paths Forward
Today’s youth are more digitally connected than ever, yet many still lack the foundational skills to navigate an increasingly complex financial landscape. Despite growing access to banking apps, trading platforms, and digital wallets, there's a major disconnect: a lot of teens are engaging with money, but not fully understanding it. The results from the pre-test of the first round of participants came in, and they are not looking too promising. But I’m still waiting.
Financial literacy is not just about budgeting or saving. It’s about building a life where money doesn’t become a constant stressor; it becomes a tool that empowers you to live the way you want.
Budgeting and saving are just the beginning. True financial literacy means understanding how to make decisions with money that align with your goals, values, and lifestyle. It means knowing when to invest, how to manage risk, and how to make trade-offs that keep you in control, not overwhelmed.
The Engagement-Preparedness Gap
Nearly 72% of high school juniors and seniors report having or planning to open financial accounts like credit cards within a year, yet 60% feel underprepared to manage credit responsibly. Similarly, OECD data reveals that over two-thirds of 15-year-olds globally actively use financial products, like bank accounts and payment cards, but one-fifth lack the basic skills to make smart decisions with them.
This gap, the one between using money and understanding it, is what keeps so many young people stuck. They might be investing in crypto or opening a debit card, but without real literacy, those tools can backfire.
The Deeper Challenges
Low Baseline Literacy: Gen Z and Millennials score the lowest on financial literacy tests. Only 38% of Gen Z answer questions correctly on basic money concepts.
Gender and Socioeconomic Gaps: Boys report higher confidence with digital money tools (61% vs. 52% for girls), and students from lower-income households often lack access to formal education on money entirely.
Overconfidence in Risky Markets: TikTok finance influencers and meme stocks have driven more young people into investing, often without understanding the risks. In France, many retail investors under 25 couldn’t explain how bonds work, even as they traded them.
Educational Gaps: Only 52% of U.S. teens receive school-based financial education. Even fewer, just 23%, know how to create a budget. But again, budgeting is a first step, not the finish line.
BONUS: Think Bigger Than the System
We talk a lot about getting into college, landing a good job, and working hard, but here’s a radical thought: what if those aren’t the only paths?
The question isn’t aimed at encouraging students to drop out, but to embrace a style of thinking where you are constantly asking: Is the money, time, or energy I’m spending right now bringing me closer to the life I want?
What you know or what you’ve been told may not always be the right path. Different goals require different paths. College may be the right move for one person, but for someone else, building a business or gaining skills through unconventional routes might make more sense. Choose the one that actually fits your vision.
Being financially literate is not just so teens can balance a checkbook or save up for sneakers. It’s so they can live freely, confidently, and with less stress about money.
Sources:
Gupta, M. (2025). A comparative study of Financial Literacy level of Generation Z and Millennials. Journal of Informatics Education and Research, 5(1). https://doi.org/10.52783/jier.v5i1.2163
Matzinger, K. (2024, August 6). Teens Want Financial Literacy Education, But Many Schools Don’t Offer It. Junior Achievement USA. https://jausa.ja.org/news/blog/teens-want-financial-literacy-education-but-many-schools-don-t-offer-it
PISA 2022 Results (Volume IV). (2024, June 27). OECD. https://www.oecd.org/en/publications/pisa-2022-results-volume-iv_5a849c2a-en.html
Week 7: Getting People In and Stress Testing the Platform
This week was all about finalizing participants and distributing the bot.
I started sending out the pre-test. I’ve been staring at this project for weeks, but seeing other people interact with it is a different feeling. Some stuff worked. Some stuff broke. That’s expected.
The biggest shift this week was moving from “builder mode” to “let’s see what happens” mode. It’s one thing to create something in isolation. It’s another to see it in the wild.
Convincing People to Sign Up
Getting people to take the pre-test wasn’t easy. I had to do a lot more explaining than I expected. Most people think “financial literacy” means a boring budget worksheet. I had to show them this was different. It’s fast, it’s personal, and it actually tells you something useful.
Some people signed up right away. Some needed follow-ups. I had to tweak how I pitched it. Saying “take a test” doesn’t work. Saying “find out how money-smart you actually are” worked better. I also made it feel less like school and more like a challenge.
Once a few people took it and gave feedback, it was easier to bring others in. Word spreads fast when people are curious.
Takeaways
This week was more about watching than building. But I learned a lot.
People don’t care unless you make them care
The platform needs to hold up when real people use it, not just when I test it
Bugs aren’t the enemy — they’re the path forward
Next step is looking at the data and customizing the lessons based on how people scored. But for now, it’s back to debugging and sending out more DMs.
Week 8: Turning Data into Direction
This week, the project really started picking up momentum. I’ve got 18 people actively working through the survey. Watching the numbers grow is exciting, but it’s also making me think about the bigger picture.
The feedback is starting to come in, and I’m already seeing trends I didn’t expect. Some people are breezing through questions I thought would be tricky, while others are stuck on things I assumed were simple.
Watching People Struggle (In a Good Way)
One of the most interesting things this week has been seeing where people get stuck. A bunch of people had trouble with the credit card question. I added a “I’m just guessing” option in the multiple choice section as an honesty check -and a surprising number of people clicked it. That’s super helpful. It tells me they’re not just picking random answers to get it over with. It also shows me where the knowledge gaps actually are.
Final Product Goals
The project’s heading toward two major deliverables:
Final Report – This is going to break down the survey results, pull out trends, and figure out what they actually mean. I want to go beyond the usual “x% got this right” and start digging into why. Why are some questions harder? Why do some users guess more often? .
Final Platform – The end version of the site will let users do more than just chat with predetermined bot. They’ll be able to upload things like their own budget or credit card statement and get custom feedback. It’s a way to shift from “learning in theory” to “learning from your actual life.”
What I’m Learning
The guessing option was one of the best additions. It gives me way more honest data.
People don’t know as much about credit cards as I assumed.
Real feedback beats any amount of solo debugging.
Next week, I’ll start mapping out how to turn this raw data into lessons that feel relevant and helpful. I’m also working on building the upload feature for the platform. That’s going to be a bit of a stretch, but it’ll be worth it if it means people can actually use this thing to improve their real financial habits.
Small steps, but it’s coming together.
Week 9: Wrapping Up and Looking Ahead
This week was all about pulling the pieces together.
I’ve been deep in writing the final report. The introduction and methodology sections are done, and I’m now in the middle of analyzing the pre-test results. Some of the trends are what I expected, but they’re giving me insight into where people are struggling. It’s also providing me insight on how flawed financial literacy tests can be - they cover surface level knowledge questions rather than question application skill. I was able to see some of this when I added free response questions to my pre-test - something many studies don’t do.
I’ll be administering the post-test this weekend. I designed it to match the difficulty of the pre-test pretty closely, so I can properly compare people’s financial literacy knowledge before and after using the bot.
At the end of the post-test, I added a few extra questions about the user experience:
“Would you use a tool like this to learn something else in the future?”
“Has this made you more likely to take steps toward becoming financially literate?”
The goal here is to figure out not just whether they learned something, but if it was able to inspire them to spend more time towards being financially literate. If the bot helped shift their mindset even a little, that’s a win.
On the platform side, I’ve also been working on the file upload feature. The idea is to let users upload PDFs on any subject they want to learn (history, bio, econ, physics) and have the bot generate personalized lessons from them. It’s still in progress, but once it’s up and running, it turns the platform into something way more flexible than just a financial literacy tutor. It becomes a starting point for learning anything.
One more week to go. It’s the last leg, and it’s all starting to come together.
Week 10: It’s a wrap.
And just like that, it’s a wrap.
This week I’ve finished analyzing the results from the full study. After weeks of watching people take the pre-test, use the bot, and then finish the post-test, it’s rewarding to see it all come together. I don’t want to spoil too much of the results in this blog post, but the final report is done. It includes the intro, methodology, analysis of the pre- and post-test results, and a section on participant feedback. I’m pretty proud of how it turned out. You can check it out here: https://docs.google.com/document/d/1Xq9Dwjfi1cA04tZoGWH9A8ec7rHzZFi-TVyCeCOo4pg/edit?usp=sharing.
On top of that, the final version of the platform is also ready. Users can now upload their own files and the AI tutor will break down the material, ask questions, and help them study it. The whole idea was to build something that lets people learn in a way that’s personal to them, so that barriers or notions that the content is difficult for them can be removed. Now, they can feed it whatever they’re curious about, and the bot adapts.
Big thanks to both my internal and external advisors who helped me think through all of this—from the research design to the user testing to just figuring out how to explain my idea in a way that made sense. Couldn’t have done it without them.
It’s kind of surreal to be done. This project pretty much marks the end of my secondary education . I learned a lot, and I hope I can continue to learn and grow my problem solving ability in the tech world.
That’s it for now. Thanks for following along, and cheers to many more projects like this one!