_pin = None
 
     def __init__(self, pin):
-        self.pin = pin
-        self._pin = None
+        self._pin = machine.Pin(pin.id)
         self.switch_to_input()
         pass
 
                     self._pin.mode(machine.Pin.OUT)
                 elif val is Direction.INPUT:
                     self._pin.mode(machine.Pin.IN)
+            #TODO more attribute assignments
 
         else:
             raise ValueError("Deinitialised")
         self._pin = machine.Pin(0, machine.Pin.IN, machine.Pin.PULL_UP)
         pass
 
-    def direction(self, *a):
-        pass
-
-    def value(self, *a):
-        pass
-
-    def drive_mode(self, *a):
-        pass
-
-    def pull(self, *a):
-        pass
 
 # __all__ = ['DigitalInOut', 'DriveMode', 'Direction','Pull']