diff --git a/docs/assignments/week12.md b/docs/assignments/week12.md
index b1249aff41b47e1fbccdfb8b50dfda3ff42ebe03..dff9602db4ecae4afc536b1d2ab8a874a61001b2 100644
--- a/docs/assignments/week12.md
+++ b/docs/assignments/week12.md
@@ -110,151 +110,7 @@ But an hour later it decides to do some work and this is the neopixel show all t
 
 <div style="padding:66.67% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/893621497?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" style="position:absolute;top:0;left:0;width:100%;height:100%;" title="TESTING"></iframe></div><script src="https://player.vimeo.com/api/player.js"></script>
 
-**CODE**
- // A basic everyday NeoPixel strip test program.
-
- // NEOPIXEL BEST PRACTICES for most reliable operation:
- // - Add 1000 uF CAPACITOR between NeoPixel strip's + and - connections.
- // - MINIMIZE WIRING LENGTH between microcontroller board and first pixel.
- // - NeoPixel strip's DATA-IN should pass through a 300-500 OHM RESISTOR.
- // - AVOID connecting NeoPixels on a LIVE CIRCUIT. If you must, ALWAYS
- //   connect GROUND (-) first, then +, then data.
- // - When using a 3.3V microcontroller with a 5V-powered NeoPixel strip,
- //   a LOGIC-LEVEL CONVERTER on the data line is STRONGLY RECOMMENDED.
- // (Skipping these may work OK on your workbench but can fail in the field)
-
- #include <Adafruit_NeoPixel.h>
- #ifdef __AVR__
- #include <avr/power.h> // Required for 16 MHz Adafruit Trinket
- #endif
-
- // Which pin on the Arduino is connected to the NeoPixels?
- // On a Trinket or Gemma we suggest changing this to 1:
- #define LED_PIN    6
-
- // How many NeoPixels are attached to the Arduino?
- #define LED_COUNT 60
-
- // Declare our NeoPixel strip object:
- Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
- // Argument 1 = Number of pixels in NeoPixel strip
- // Argument 2 = Arduino pin number (most are valid)
- // Argument 3 = Pixel type flags, add together as needed:
- //   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
- //   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
- //   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
- //   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
- //   NEO_RGBW    Pixels are wired for RGBW bitstream (NeoPixel RGBW products)
-
-
- // setup() function -- runs once at startup --------------------------------
-
- void setup() {
-  // These lines are specifically to support the Adafruit Trinket 5V 16 MHz.
-  // Any other board, you can remove this part (but no harm leaving it):
- #if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
-  clock_prescale_set(clock_div_1);
- #endif
-  // END of Trinket-specific code.
-
-  strip.begin();           // INITIALIZE NeoPixel strip object (REQUIRED)
-  strip.show();            // Turn OFF all pixels ASAP
-  strip.setBrightness(50); // Set BRIGHTNESS to about 1/5 (max = 255)
- }
-
-
- // loop() function -- runs repeatedly as long as board is on ---------------
-
- void loop() {
-  // Fill along the length of the strip in various colors...
-  colorWipe(strip.Color(255,   0,   0), 50); // Red
-  colorWipe(strip.Color(  0, 255,   0), 50); // Green
-  colorWipe(strip.Color(  0,   0, 255), 50); // Blue
-
-  // Do a theater marquee effect in various colors...
-  theaterChase(strip.Color(127, 127, 127), 50); // White, half brightness
-  theaterChase(strip.Color(127,   0,   0), 50); // Red, half brightness
-  theaterChase(strip.Color(  0,   0, 127), 50); // Blue, half brightness
-
-  rainbow(10);             // Flowing rainbow cycle along the whole strip
-  theaterChaseRainbow(50); // Rainbow-enhanced theaterChase variant
- }
-
-
- // Some functions of our own for creating animated effects -----------------
-
- // Fill strip pixels one after another with a color. Strip is NOT cleared
- // first; anything there will be covered pixel by pixel. Pass in color
- // (as a single 'packed' 32-bit value, which you can get by calling
- // strip.Color(red, green, blue) as shown in the loop() function above),
- // and a delay time (in milliseconds) between pixels.
- void colorWipe(uint32_t color, int wait) {
-  for(int i=0; i<strip.numPixels(); i++) { // For each pixel in strip...
-    strip.setPixelColor(i, color);         //  Set pixel's color (in RAM)
-    strip.show();                          //  Update strip to match
-    delay(wait);                           //  Pause for a moment
-  }
- }
-
- // Theater-marquee-style chasing lights. Pass in a color (32-bit value,
- // a la strip.Color(r,g,b) as mentioned above), and a delay time (in ms)
- // between frames.
- void theaterChase(uint32_t color, int wait) {
-  for(int a=0; a<10; a++) {  // Repeat 10 times...
-    for(int b=0; b<3; b++) { //  'b' counts from 0 to 2...
-      strip.clear();         //   Set all pixels in RAM to 0 (off)
-      // 'c' counts up from 'b' to end of strip in steps of 3...
-      for(int c=b; c<strip.numPixels(); c += 3) {
-        strip.setPixelColor(c, color); // Set pixel 'c' to value 'color'
-      }
-      strip.show(); // Update strip with new contents
-      delay(wait);  // Pause for a moment
-    }
-  }
- }
-
- // Rainbow cycle along whole strip. Pass delay time (in ms) between frames.
- void rainbow(int wait) {
-  // Hue of first pixel runs 5 complete loops through the color wheel.
-  // Color wheel has a range of 65536 but it's OK if we roll over, so
-  // just count from 0 to 5*65536. Adding 256 to firstPixelHue each time
-  // means we'll make 5*65536/256 = 1280 passes through this loop:
-  for(long firstPixelHue = 0; firstPixelHue < 5*65536; firstPixelHue += 256) {
-    // strip.rainbow() can take a single argument (first pixel hue) or
-    // optionally a few extras: number of rainbow repetitions (default 1),
-    // saturation and value (brightness) (both 0-255, similar to the
-    // ColorHSV() function, default 255), and a true/false flag for whether
-    // to apply gamma correction to provide 'truer' colors (default true).
-    strip.rainbow(firstPixelHue);
-    // Above line is equivalent to:
-    // strip.rainbow(firstPixelHue, 1, 255, 255, true);
-    strip.show(); // Update strip with new contents
-    delay(wait);  // Pause for a moment
-  }
- }
-
- // Rainbow-enhanced theater marquee. Pass delay time (in ms) between frames.
- void theaterChaseRainbow(int wait) {
-  int firstPixelHue = 0;     // First pixel starts at red (hue 0)
-  for(int a=0; a<30; a++) {  // Repeat 30 times...
-    for(int b=0; b<3; b++) { //  'b' counts from 0 to 2...
-      strip.clear();         //   Set all pixels in RAM to 0 (off)
-      // 'c' counts up from 'b' to end of strip in increments of 3...
-      for(int c=b; c<strip.numPixels(); c += 3) {
-        // hue of pixel 'c' is offset by an amount to make one full
-        // revolution of the color wheel (range 65536) along the length
-        // of the strip (strip.numPixels() steps):
-        int      hue   = firstPixelHue + c * 65536L / strip.numPixels();
-        uint32_t color = strip.gamma32(strip.ColorHSV(hue)); // hue -> RGB
-        strip.setPixelColor(c, color); // Set pixel 'c' to value 'color'
-      }
-      strip.show();                // Update strip with new contents
-      delay(wait);                 // Pause for a moment
-      firstPixelHue += 65536 / 90; // One cycle of color wheel over 90 frames
-    }
-  }
- }
-
+### **CODE**
 
 I want my crystals to flash white for 2 seconds and then stops for 2 seconds.
 
@@ -266,30 +122,30 @@ And here's the code:
 
     #include <Adafruit_NeoPixel.h>
 
- int dataPin = 1;
- #define numberOfPixels  6
- #define maximumBrightness 255
+    int dataPin = 1;
+    #define numberOfPixels  6
+    #define maximumBrightness 255
 
- Adafruit_NeoPixel ledStrip = Adafruit_NeoPixel(numberOfPixels, dataPin);
+    Adafruit_NeoPixel ledStrip = Adafruit_NeoPixel(numberOfPixels, dataPin);
 
- void setup() {
-  ledStrip.begin();
- }
+    void setup() {
+    ledStrip.begin();
+    }
 
- void loop() {
-  setLightsToColour(255, 255, 255);
-  ledStrip.show();
-  delay(2000);
-  setLightsToColour(0, 0, 0);
-  ledStrip.show();
-  delay(1000);
- }
+    void loop() {
+    setLightsToColour(255, 255, 255);
+    ledStrip.show();
+    delay(2000);
+    setLightsToColour(0, 0, 0);
+    ledStrip.show();
+    delay(1000);
+    }
 
- oid setLightsToColour(int red, int green, int blue) {
-  for (uint8_t i = 0; i < numberOfPixels; i++) {
+    oid setLightsToColour(int red, int green, int blue) {
+    for (uint8_t i = 0; i < numberOfPixels; i++) {
     ledStrip.setPixelColor(i, ledStrip.Color(red, green, blue));
-  }
- }
+    }
+    }
 
 
 ## **FINAL RESUILT**