# Tutorial Lesson Plan
## Getting Set up
1. What and Why of legos
- What is a lego
- Where do they exist
- Why do we use legos
2. Setting up a dev environment
- git clone
- linter
## Building a simple minion proposal
3. Make a form lego
- Welcome back.
- This video is about form legos
- In the code, you'll notice that these forms are not React components at all. Just data, or legos
- This helps us scale. Right now, we have 42 forms in the app, and we'd like to have hundreds more.
- So we use these little data blocks, we like to call legos
- So let's make a new form
- Let's go into favourites, copy and paste a new form
- set dev as true
- By setting dev as true we're allowing the form to show up in the UI, which makes it easy to test.
- Let's go through some of the fields here
5. Getting and adding an ABI
6. Making a Contract Lego
7. Setting up the Minion Transaction
8. Nesting in the Swap TX (adapting to args to ABI data)
9. Multichain, updating chain.js
10. Make a custom slippage field
11. Testing contract interaction
## Building a safeMinion proposal
11. Levelling up to SafeMinion
12. Creating a SafeMinion tx
13. Adding in approve, Copying in swapTokensForExactTokens
14. Test it out
15. Make a playlist
16. Make a PR to DAOhaus, we test it and hook it up