 			rightInPlace(30);
 			sleep();
 			break;
-		case 15: // Traverse a spiral UNTESTED
-			wake();
+		case 15: // Traverse a spiral NEEDS TWEAKING
+			wake();
+			ccwCircle(120);
+			delay(3000);
 			ccwCircle(100);
-			delay(1000); // PROBABLY NEED TO CHANGE DELAY
+			delay(2800);
 			ccwCircle(80);
-			delay(800); // PROBABLY NEED TO CHANGE DELAY
+			delay(2600);
 			ccwCircle(60);
-			delay(600); // PROBABLY NEED TO CHANGE DELAY
+			delay(2400);
 			ccwCircle(40);
-			delay(400); // PROBABLY NEED TO CHANGE DELAY
-			ccwCircle(20);
-			delay(200); // PROBABLY NEED TO CHANGE DELAY
+			delay(2200);
 			sleep();
 			break;
 		default: // Do nothing

}

// Turn the rover left in place the given number of degrees
void leftInPlace(int degrees) {
	motorize( 0, 50, 1);
	motorize( 1, 50, 0);
	motorize( 2, 50, 1);
	motorize( 3, 50, 0);
	delay(1000 * (degrees / 360)); // UNTESTED
	brakes();
}

// Turn the rover right in place the given number of degrees
void rightInPlace(int degrees) {
	motorize( 0, 50, 0);
	motorize( 1, 50, 1);
	motorize( 2, 50, 0);
	motorize( 3, 50, 1);
	delay(1000 * (degrees / 360)); // UNTESTED
	brakes();
}


			delay(100);
			sleep();
			break;
		case 10: // Half circle, then come back NEEDS TWEAKING
			wake();
			cwCircle(100);
			delay(4000);
			rightInPlace(90);
			allForward(100);
			delay(2000); 
			sleep();
			break;
		case 11: // Traverse a clover NEEDS TWEAKING
			wake();
			cwCircle(80);
			delay(2000);
			leftInPlace(90);
			cwCircle(80);
			delay(2000);
			leftInPlace(90);
			cwCircle(80);
			delay(2000);
			leftInPlace(90);
			cwCircle(80);
			delay(2000);
			sleep();
			break;
		case 12: // Turn left and drive
			wake();
			leftInPlace(90);
			allForward(100);
			delay(2000);
			sleep();
			break;
		case 13: // Turn right and drive
			wake();
			rightInPlace(90);
			allForward(100);
			delay(2000);
			sleep();
			break;
		case 14: // Wiggle in place
			wake();
			leftInPlace(30);
			rightInPlace(30);
