diff --git a/source/PreseasonTraining/1_LEDProgramming/index.md b/source/PreseasonTraining/1_LEDProgramming/index.md
deleted file mode 100644
index 1e47c8f..0000000
--- a/source/PreseasonTraining/1_LEDProgramming/index.md
+++ /dev/null
@@ -1,122 +0,0 @@
-# 1 - LED Programming
-
-```{toctree}
----
-maxdepth: 2
-caption: Contents
-titlesonly: true
----
-Tutorial.md
-```
-
-## Setup
-
-This lesson is about programming an LED strip using a microcontroller, such as an Arduino Uno. [Wokwi](https://wokwi.com/) is an online emulator that will substitute a real board.
-
-In Arduino programming, you can can define two methods: `setup` and `loop`. The first runs once when the microcontroller turns on and the second repeats infinitely. For our purposes, `loop` is enough.
-
-Here is a Wokwi instance that has the necessary code set up with 100 LED lights displaying a rainbow.
-
-
-
-FastLED, the library we are using for control, provides several functions. In this case, `FastLED.clear()` is necessary to set all pixels to an empty state. After setting the pixels, the board has to send the signal to the LED strip and you can do so through the `FastLED.show()` method.
-
-Earlier in the Wokwi example I defined an array of 100 pixels called `leds`. You can access each pixel using the bracket operator and set them using the `CHSV(hue, saturation, value)` function. The library also provides a `CRGB(red, green, blue)` function if you want to set a color using the RGB standard. For both, all numbers are integers from 0 to 255 (2^8 or one byte).
-
-```cpp
-void loop() {
- FastLED.clear(); // Sets all pixels to blank
-
- leds[0] = CHSV(255, 255, 255); // Sets first pixel to red
-
- FastLED.show(); // Updates pixels
-}
-```
-
-Here is another example that sets every pixel to red, instead of just the first one, utilizing a for loop.
-
-```cpp
-void loop() {
- FastLED.clear(); // Sets all pixels to blank
-
- for (int i = 0; i < NUM_LEDS; i++) {
- leds[i] = CHSV(255, 255, 255); // Sets i-th pixel to red
- }
-
- FastLED.show(); // Updates pixels
-}
-```
-
-But to make it more interesting, you can utilize the `i` iterator variable in your hue calculations. Since `i` is an integer, it has to be converted into a decimal number (called `float` in most programming languages), only after which you can use it in division equations. Here we divide it by the number of LEDs to create a progression from 0.0 to 1.0 and then multiply by the hue range, that being 255. This for loop will go through every hue value from 0 to 255 and create a rainbow which you can see in the Wokwi example.
-
-```cpp
-leds[i] = CHSV((float)i / NUM_LEDS * 255, 255, 255);
-```
-
-But for now, our results are static. To animate, you can utilize the `delay(milliseconds)` function, similar to Python's `time.sleep(seconds)`. Without a delay, the board will repeat the `loop()` function as fast as it can.
-
-Here is a list of some notable methods and features:
-```cpp
-// For loop (runs until second condition is false)
-for (int i = 0; i < 100; i++) {
- // Do thing
-}
-
-// While loop (runs forever until condition is false)
-int i = 0;
-while (i < 100) {
- i++;
-}
-
-// If-else statement
-if (thing1 == thing2) {
- // Do thing 1
-} else {
- // Do thing 2
-}
-
-// The delay (sleep) funciton
-delay(1000); // Waits 1 second
-
-// Modulo operator
-int number0 = thing % 2; // Returns remainder of "thing" divided by 2
-
-/*
-
-Math functions (specific to Arduino)
-- sin(x)
-- cos(x)
-- tan(x)
-- pow(x, y)
-- sqrt(x)
-- log(x) <-- natural log
-- log10(x)
-
-*/
-
-leds[0] = CHSV(0, 0, 0); // Set color using HSV
-leds[0] = CRGB(0, 0, 0); // Set color using RGB
-```
-
-## More examples
-
-### Animated Rainbow
-
-
-
-### Sine Wave
-
-
-
-## Deploying
-
-You can deploy your code on an actual Arduino Uno or another supported board by downloading desktop version of [Arduino IDE](https://www.arduino.cc/en/software) and creating a project. Connect your board, select it and the USB port under "Tools" tab. Click upload.
\ No newline at end of file
diff --git a/source/PreseasonTraining/2_OpenCV_ColorSegmentation/Tutorial.md b/source/PreseasonTraining/2_OpenCV_ColorSegmentation/Tutorial.md
new file mode 100644
index 0000000..9d6994e
--- /dev/null
+++ b/source/PreseasonTraining/2_OpenCV_ColorSegmentation/Tutorial.md
@@ -0,0 +1,3 @@
+# Color-based segmentation in OpenCV Python: Tutorial
+
+TODO: Figure out where we put the tutorial!
\ No newline at end of file
diff --git a/source/PreseasonTraining/2_OpenCV_ColorSegmentation/index.md b/source/PreseasonTraining/2_OpenCV_ColorSegmentation/index.md
new file mode 100644
index 0000000..7538a10
--- /dev/null
+++ b/source/PreseasonTraining/2_OpenCV_ColorSegmentation/index.md
@@ -0,0 +1,10 @@
+# Color-based segmentation in OpenCV Python
+
+```{toctree}
+---
+maxdepth: 2
+caption: Contents
+titlesonly: true
+---
+Tutorial.md
+```
diff --git a/source/PreseasonTraining/JavaBasics/index.md b/source/PreseasonTraining/3_JavaBasics/index.md
similarity index 100%
rename from source/PreseasonTraining/JavaBasics/index.md
rename to source/PreseasonTraining/3_JavaBasics/index.md
diff --git a/source/PreseasonTraining/TankDriveSimulation/Tutorial.md b/source/PreseasonTraining/4_TankDriveSimulation/Tutorial.md
similarity index 100%
rename from source/PreseasonTraining/TankDriveSimulation/Tutorial.md
rename to source/PreseasonTraining/4_TankDriveSimulation/Tutorial.md
diff --git a/source/PreseasonTraining/TankDriveSimulation/index.md b/source/PreseasonTraining/4_TankDriveSimulation/index.md
similarity index 100%
rename from source/PreseasonTraining/TankDriveSimulation/index.md
rename to source/PreseasonTraining/4_TankDriveSimulation/index.md
diff --git a/source/PreseasonTraining/AutonomousSimulation/Tutorial.md b/source/PreseasonTraining/5_AutonomousSimulation/Tutorial.md
similarity index 100%
rename from source/PreseasonTraining/AutonomousSimulation/Tutorial.md
rename to source/PreseasonTraining/5_AutonomousSimulation/Tutorial.md
diff --git a/source/PreseasonTraining/AutonomousSimulation/index.md b/source/PreseasonTraining/5_AutonomousSimulation/index.md
similarity index 100%
rename from source/PreseasonTraining/AutonomousSimulation/index.md
rename to source/PreseasonTraining/5_AutonomousSimulation/index.md
diff --git a/source/PreseasonTraining/ArmSimulation/Tutorial.md b/source/PreseasonTraining/6_ArmSimulation/Tutorial.md
similarity index 100%
rename from source/PreseasonTraining/ArmSimulation/Tutorial.md
rename to source/PreseasonTraining/6_ArmSimulation/Tutorial.md
diff --git a/source/PreseasonTraining/ArmSimulation/index.md b/source/PreseasonTraining/6_ArmSimulation/index.md
similarity index 100%
rename from source/PreseasonTraining/ArmSimulation/index.md
rename to source/PreseasonTraining/6_ArmSimulation/index.md
diff --git a/source/PreseasonTraining/Mock1/index.md b/source/PreseasonTraining/7_Mock/index.md
similarity index 100%
rename from source/PreseasonTraining/Mock1/index.md
rename to source/PreseasonTraining/7_Mock/index.md
diff --git a/source/PreseasonTraining/8_2024CodeOverview/index.md b/source/PreseasonTraining/8_2024CodeOverview/index.md
new file mode 100644
index 0000000..86933a4
--- /dev/null
+++ b/source/PreseasonTraining/8_2024CodeOverview/index.md
@@ -0,0 +1,17 @@
+# Lesson 8: 2024 Code overview
+
+```{toctree}
+---
+maxdepth: 2
+caption: Contents
+titlesonly: true
+---
+```
+
+## Agenda
+
+* Overview of last years code
+* Every command and subsystem
+* Vision code
+* QnA
+* Watch old matches for strategy and inspiration
\ No newline at end of file
diff --git a/source/PreseasonTraining/Mock2/index.md b/source/PreseasonTraining/Mock2/index.md
deleted file mode 100644
index b4a7215..0000000
--- a/source/PreseasonTraining/Mock2/index.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Lesson 7: Mock Season Part 2—Autonomous
-
-```{toctree}
----
-maxdepth: 2
-caption: Contents
-titlesonly: true
----
-```
-
-## Agenda
-
-* Provide vision localizer
-* Teach PathPlanner
\ No newline at end of file
diff --git a/source/PreseasonTraining/index.md b/source/PreseasonTraining/index.md
index fa0db1a..0cf75de 100644
--- a/source/PreseasonTraining/index.md
+++ b/source/PreseasonTraining/index.md
@@ -8,12 +8,11 @@ titlesonly: true
---
Overview/index.md
LEDProgramming/index.md
-OpenCV_ColorSegmentation/index.md
-JavaBasics/index.md
-TankDriveSimulation/index.md
-AutonomousSimulation/index.md
-ArmSimulation/index.md
-Mock1/index.md
-Mock2/index.md
-2024CodeOverview/index.md
+2_OpenCV_ColorSegmentation/index.md
+3_JavaBasics/index.md
+4_TankDriveSimulation/index.md
+5_AutonomousSimulation/index.md
+6_ArmSimulation/index.md
+7_Mock/index.md
+8_2024CodeOverview/index.md
```
\ No newline at end of file
diff --git a/source/Resources/Applications/git.md b/source/Resources/Applications/git.md
new file mode 100644
index 0000000..7d48731
--- /dev/null
+++ b/source/Resources/Applications/git.md
@@ -0,0 +1,62 @@
+# Git
+
+This is a short cheatsheet on VSCode source control usage. Feel free to use Git CLI if you already have experience or want to learn it. Full guide on VSCode source control can be found [here](https://code.visualstudio.com/docs/sourcecontrol/overview).
+
+## Structure
+
+* A Git project is called a repository
+* Github is a Git platform for hosting Git projects online
+* Inside a repo, you can create branches
+* Typically, the `main` or `master` is used in production
+* Each branch contains a list of changes called commits
+* Each commit contains changes to files and a message
+* All commits are created locally; you need to do a push to upload them to Github
+* To download changes, do a pull
+* To update your list of branches, do a fetch (VSCode has an option to do this automatically)
+* You can dublicate branches, work on them separately, and merge them back together
+* This allows everyone to work on different features independently without breaking things
+
+## Cloning
+
+* Cloning is downloading a repository
+* First, click on green Code button and copy the HTTPS link
+
+![Copying HTTPS link](./git_clone.png "Copying HTTPS link")
+
+* Second, go to VSCode source control tab and click clone
+
+![Cloning](./vsc_clone.png "Cloning")
+
+* Paste your link and press enter
+* Select a folder to save the project in
+
+![Pasting](./vsc_paste.png "Pasting")
+
+* Open the same folder next time to open the project
+* Please don't clone the repo every time you want to work on it!
+
+## Committing
+
+* First, make the changes you want to make
+* Go to source control tab and press `+` for all files you want to include in your commit
+* Write a message (a description) for your commit (this step is required)
+* You can press `-` for files you want to remove from your commit
+* Once you are ready, press commit button
+
+## Pushing & Pulling
+
+* After committing, you need to push
+* You can click VSCode's blue "sync" button, which will push and pull at the same time
+* Otherwise, you can click on additional actions and click push or pull
+
+![Push/pull actions](./vsc_push_pull.png "Push/pull actions")
+
+## Switching branches
+
+* To check which branch you are on, view the message input bar
+
+![Checking branch](./vsc_branch.png "Checking branch")
+
+## Merging
+
+*
\ No newline at end of file
diff --git a/source/Resources/Applications/git_clone.png b/source/Resources/Applications/git_clone.png
new file mode 100644
index 0000000..a5d7f3e
Binary files /dev/null and b/source/Resources/Applications/git_clone.png differ
diff --git a/source/Resources/Applications/index.md b/source/Resources/Applications/index.md
new file mode 100644
index 0000000..75174b0
--- /dev/null
+++ b/source/Resources/Applications/index.md
@@ -0,0 +1,10 @@
+# Applications
+
+```{toctree}
+---
+maxdepth: 2
+caption: Contents
+titlesonly: true
+---
+git.md
+```
\ No newline at end of file
diff --git a/source/Resources/Applications/vsc_branch.png b/source/Resources/Applications/vsc_branch.png
new file mode 100644
index 0000000..693b54d
Binary files /dev/null and b/source/Resources/Applications/vsc_branch.png differ
diff --git a/source/Resources/Applications/vsc_clone.png b/source/Resources/Applications/vsc_clone.png
new file mode 100644
index 0000000..205f0b3
Binary files /dev/null and b/source/Resources/Applications/vsc_clone.png differ
diff --git a/source/Resources/Applications/vsc_paste.png b/source/Resources/Applications/vsc_paste.png
new file mode 100644
index 0000000..cec3744
Binary files /dev/null and b/source/Resources/Applications/vsc_paste.png differ
diff --git a/source/Resources/Applications/vsc_push_pull.png b/source/Resources/Applications/vsc_push_pull.png
new file mode 100644
index 0000000..16783be
Binary files /dev/null and b/source/Resources/Applications/vsc_push_pull.png differ
diff --git a/source/Resources/3_Coprocessors/index.md b/source/Resources/Coprocessors/index.md
similarity index 100%
rename from source/Resources/3_Coprocessors/index.md
rename to source/Resources/Coprocessors/index.md
diff --git a/source/Resources/2_CppProgramming/index.md b/source/Resources/CppProgramming/index.md
similarity index 100%
rename from source/Resources/2_CppProgramming/index.md
rename to source/Resources/CppProgramming/index.md
diff --git a/source/Resources/1_JavaProgramming/index.md b/source/Resources/JavaProgramming/index.md
similarity index 93%
rename from source/Resources/1_JavaProgramming/index.md
rename to source/Resources/JavaProgramming/index.md
index 6f827ac..c6abd40 100644
--- a/source/Resources/1_JavaProgramming/index.md
+++ b/source/Resources/JavaProgramming/index.md
@@ -1,5 +1,14 @@
# Java / roboRIO Programming
+```{toctree}
+---
+maxdepth: 2
+caption: Contents
+titlesonly: true
+---
+installation.md
+```
+
## Introduction
The [official WPILib documentation](https://docs.wpilib.org/en/stable/) has the most amount of content regarding FRC programming. Reading through the entire Wiki will set you ahead of majority of FRC programmers. Some components do not have official WPILib support and contain their documentation externally, such as [Phoenix 6](https://v6.docs.ctr-electronics.com/en/stable/) and [NavX2](https://pdocs.kauailabs.com/navx-mxp/)
diff --git a/source/Resources/4_Linux/index.md b/source/Resources/Linux/index.md
similarity index 100%
rename from source/Resources/4_Linux/index.md
rename to source/Resources/Linux/index.md
diff --git a/source/Resources/RobotDesign/index.md b/source/Resources/RobotDesign/index.md
new file mode 100644
index 0000000..e69de29
diff --git a/source/Resources/index.md b/source/Resources/index.md
index d8f62d6..3d5983a 100644
--- a/source/Resources/index.md
+++ b/source/Resources/index.md
@@ -2,7 +2,7 @@
## Documentation and other websites
-Use the following resources to learn more about FRC programming and other topics related to the team. These are simply recommendations from the team at the time of writting and might be irrelevant even a short time after. Always check updated sources.
+Use the following resources to learn more about FRC programming and other topics related to the team. These are simply recommendations from the team at the time of writting and might be irrelevant even a short time after. Always check updated sources!
```{toctree}
@@ -12,8 +12,10 @@ caption: Contents
titlesonly: true
---
StyleGuide.md
-1_JavaProgramming/index.md
-2_CppProgramming/index.md
-3_Coprocessors/index.md
-4_Linux/index.md
+Applications/index.md
+RobotDesign/index.md
+JavaProgramming/index.md
+CppProgramming/index.md
+Coprocessors/index.md
+Linux/index.md
```
\ No newline at end of file
diff --git a/source/TeamHistory/index.md b/source/TeamHistory/index.md
new file mode 100644
index 0000000..2d95837
--- /dev/null
+++ b/source/TeamHistory/index.md
@@ -0,0 +1 @@
+# Team #2022 History
\ No newline at end of file
diff --git a/source/TitanDashboard/index.md b/source/TitanDashboard/index.md
new file mode 100644
index 0000000..e69de29
diff --git a/source/TitanProcessing/2_AprilTags/index.md b/source/TitanProcessing/2_AprilTags/index.md
deleted file mode 100644
index 996c8d3..0000000
--- a/source/TitanProcessing/2_AprilTags/index.md
+++ /dev/null
@@ -1 +0,0 @@
-# 2 - AprilTag Detection
\ No newline at end of file
diff --git a/source/TitanProcessing/3_Localization/index.md b/source/TitanProcessing/3_Localization/index.md
deleted file mode 100644
index 824cbe7..0000000
--- a/source/TitanProcessing/3_Localization/index.md
+++ /dev/null
@@ -1 +0,0 @@
-# 3 - Localization
\ No newline at end of file
diff --git a/source/TitanProcessing/4_Networking/index.md b/source/TitanProcessing/4_Networking/index.md
deleted file mode 100644
index c82cfd0..0000000
--- a/source/TitanProcessing/4_Networking/index.md
+++ /dev/null
@@ -1 +0,0 @@
-# 4 - Networking
\ No newline at end of file
diff --git a/source/TitanProcessing/AprilTags/index.md b/source/TitanProcessing/AprilTags/index.md
new file mode 100644
index 0000000..7452cda
--- /dev/null
+++ b/source/TitanProcessing/AprilTags/index.md
@@ -0,0 +1,7 @@
+# AprilTag Detection
+
+## Reading Configuration
+
+## Detection
+
+## Multithreading
\ No newline at end of file
diff --git a/source/TitanProcessing/Localization/index.md b/source/TitanProcessing/Localization/index.md
new file mode 100644
index 0000000..69aa9e5
--- /dev/null
+++ b/source/TitanProcessing/Localization/index.md
@@ -0,0 +1 @@
+# Localization
\ No newline at end of file
diff --git a/source/TitanProcessing/index.md b/source/TitanProcessing/index.md
index 1aca246..3cc0284 100644
--- a/source/TitanProcessing/index.md
+++ b/source/TitanProcessing/index.md
@@ -4,6 +4,8 @@
[Titan Processing](https://github.com/titan2022/Titan-Processing) is the official vision library created and used by Titan Robotics since the 2023-2024 season. It is targetted for compilation on a coprocessor, and for this reason it includes a networking module. The main capability is detecting AprilTags and determining the robot pose through localization and filtering it using an Extended Kalman Filter.
+Unlike Titan Algorithms, Titan Processing operates on a rolling release model, meaning that there is no explicit versioning. This is because most of vision code in production is written in this library. This requires frequent bug fixes and modifications, so try to rebuild this library as often as possible. You can refer to specific Titan Processing installations with their respective Git commit messages or codes.
+
```{toctree}
---
maxdepth: 2
@@ -15,4 +17,8 @@ Calibration/index.md
AprilTags/index.md
Localization/index.md
Networking/index.md
-```
\ No newline at end of file
+```
+
+## Contributing
+
+To contribute, create your own branch or fork with necessary modifications and initiate a merge or pull request into `main`.
\ No newline at end of file
diff --git a/source/index.md b/source/index.md
index 01d15d4..b369bbe 100644
--- a/source/index.md
+++ b/source/index.md
@@ -1,5 +1,7 @@
# Titan Robotics #2022 Documentation
+Welcome to the Titan Robotics #2022 official programming documentation! Here you can find all available guides on our software and other FRC related projects. There are also some pages on strategy and design.
+
```{toctree}
---
caption: Contents
@@ -10,4 +12,5 @@ Resources/index.md
TitanAlgorithms/index.md
TitanProcessing/index.md
TitanDashboard/index.md
+TeamHistory/index.md
```
\ No newline at end of file