     // MARK: Public methods
     
     func displayDigit(_ digit: Digit) {
+        switchOff()
         switch digit {
-        default:
+        case .zero:
             switchSegment(.a, to: 1)
+            switchSegment(.b, to: 1)
+            switchSegment(.c, to: 1)
+            switchSegment(.d, to: 1)
+            switchSegment(.e, to: 1)
+            switchSegment(.f, to: 1)
+        case .one:
+            break
+        case .two:
+            break
+        case .three:
+            break
+        case .four:
+            break
+        case .five:
+            break
+        case .six:
+            break
+        case .seven:
+            break
+        case .eight:
+            break
+        case .nine:
+            break
         }
     }
     
-    
+    func switchOff() {
+        self.gpios.forEach { (gpio) in
+            gpio.value = 0
+        }
+    }
 }

    
    // MARK: Properties
    
    private let agpio: GPIO
    private let bgpio: GPIO
    private let cgpio: GPIO

            fatalError("There should be 7 gpios for the one digit segment display")
        }
        
        self.gpios = gpios
        self.agpio = gpios[0]
        self.bgpio = gpios[1]
        self.cgpio = gpios[2]
