 			case STATE_SETUP:
 				lcd.print("Select rung:");
 				displayRung();
-				displaySelectedSCR(1);
+				displaySelectedSCR(LCD_LINE_ONE);
 				break;
 			case STATE_READY:
 				lcd.print("S:C:R -");
-				displaySelectedSCR(0);
-				lcd.setCursor(0, 1);
+				displaySelectedSCR(LCD_LINE_ZERO);
+				lcd.setCursor(0, LCD_LINE_ONE);
 				lcd.print("Step on to begin");
 				break;
 			case STATE_RUNNING:
 				lcd.print("S:C:R -");
-				displaySelectedSCR(0);
-				lcd.setCursor(0, 1);
+				displaySelectedSCR(LCD_LINE_ZERO);
+				lcd.setCursor(0, LCD_LINE_ONE);
 				lcd.print("Current:");
-				displayCurrentSCR(1);
+				displayCurrentSCR(LCD_LINE_ONE);
+				break;
+			case STATE_JUMPING:
+				lcd.print("S:C:R -");
+				displaySelectedSCR(LCD_LINE_ZERO);
+				lcd.setCursor(0, LCD_LINE_ONE);
+				lcd.print("JUMP!");
+				displayJumps();
 				break;
 			case STATE_COMPLETE:
 				lcd.print("DONE!");
-				displaySelectedSCR(0);
-				lcd.setCursor(0, 1);
+				displaySelectedSCR(LCD_LINE_ZERO);
+				lcd.setCursor(0, LCD_LINE_ONE);
 				lcd.print("Current:");
-				displayCurrentSCR(1);
+				displayCurrentSCR(LCD_LINE_ONE);
 				break;
 			}
 			

		switchState = newSwitchState;
		
		if(switchState == LOW){
			currentSteps++;
			
			if(programState == STATE_RUNNING || programState == STATE_COMPLETE){
				displayCurrentSCR(1);
			}
		}
	}
	
}

// void checkSwitchState()
// {
	// newSwitchState = digitalRead(35);
	// delay(10);
	// state2 = digitalRead(35);

	// if(newSwitchState == state2 && switchState != newSwitchState)
	// {
		// switchState = newSwitchState;
		//// stateChanges++;
		
		// lcd.clear();
		// lcd.setCursor(0,0);
		
		// if(switchState == HIGH)
		// {
			// lcd.print("HIGH");
		// }
		// else
		// {
			// lcd.print("LOW");
		// } 
		
		// lcd.setCursor(0,1);
		//// lcd.print(stateChanges);
	// }  
// }

void processButtons(){
	uint8_t buttons = lcd.readButtons();

}

void displayRung(){
	displayNumber(rung, 2, LCD_POSITION_RUNG, LCD_LINE_ZERO, LCD_PADDING_ZERO);
}

void displaySelectedSCR(int line){
	int steps = introLadder[rung];
	
	// Steps
	displayNumber(steps, 3, LCD_POSITION_SCR, line, LCD_PADDING_ZERO);
	lcd.setCursor(LCD_POSITION_SCR + 3, line);
	lcd.print(":");
	
	// Count
	displayNumber(steps / 75, 1, LCD_POSITION_SCR + 4, line, LCD_PADDING_ZERO);
	lcd.setCursor(LCD_POSITION_SCR + 5, line);
	lcd.print(":");
	
	// Remainder
	displayNumber(steps % 75, 2, LCD_POSITION_SCR + 6, line, LCD_PADDING_ZERO);
}

void displayCurrentSCR(int line){
	// Steps
	displayNumber(currentSteps, 3, LCD_POSITION_SCR, line, LCD_PADDING_ZERO);
	lcd.setCursor(LCD_POSITION_SCR + 3, line);
	lcd.print(":");
	
	// Count
	displayNumber(currentSteps / 75, 1, LCD_POSITION_SCR + 4, line, LCD_PADDING_ZERO);
	lcd.setCursor(LCD_POSITION_SCR + 5, line);
	lcd.print(":");
	
	// Remainder
	displayNumber(currentSteps % 75, 2, LCD_POSITION_SCR + 6, line, LCD_PADDING_ZERO);
}

void displayJumps()
{
	displayNumber(currentJumps, LCD_POSITION_RIGHT - LCD_POSITION_SCR + 1, LCD_POSITION_SCR, LCD_LINE_ONE, LCD_PADDING_SPACE);
}

void updateDisplay(){
