 const int prevPin = 6;
 const int nextPin = 7;
 const int setPin = 8;
+/* End Pin Definitions*/
 
+/* Variable Definitions */
 Chrono chrono(Chrono::MICROS);
+LightChrono measurementTimeout;
+
 unsigned long measuredTimes[10];
 int measurementIndex = 0;
 int maxMeasurements = 5;
 
-LightChrono measurementTimeout;
-
 int laserState = 0;         // variable for reading the pushbutton status
 int oldLaserState = 0;
 bool enabled = true;
+/* End Variable Definitions */
+
+/* Menu Definitions */
+int menuIndex = 0;
+
+void mainMenu();
+void settingsMenu();
+void chronoView();
+void resultsView();
+
+int (*views[4]) ();
+/* End Menu Definitions */
 
 void setup() {
   Serial.begin(9600);   // Test
   Serial.println("Stopwatch");
   
+  // Pin Modes
   pinMode(buzzerPin, OUTPUT);
   pinMode(laserPin, INPUT);
   pinMode(onPin, INPUT);

#include <Chrono.h>
#include <LightChrono.h>

const int laserPin = 2;     // the number of the pushbutton pin
const int buzzerPin =  3;      // the number of the LED pin
const int onPin = 4;     // the number of the pushbutton pin

  
}

void mainMenu() {
	Serial.println("RaceTimer");
	
	switch(menuIndex){
		case 0:
			Serial.println("Start");
			break;
		case 1:
			Serial.println("Settings");
			break;
		default:
			break;
	}
	
}

void settingsMenu() {

  do {
