diff --git a/robot.py b/robot.py
index 4c5c9d062d03b933201f4be98aea7f8aca208a52..01b0b54eb710d7340f59dc0ee927e8e2f165a0bf 100644
--- a/robot.py
+++ b/robot.py
@@ -63,7 +63,7 @@ async def main():
     tcpobject = Measurement("Tool Center Point", "Tool center point of a six-arm robot.", float, 3 , (-0.5, 0.5), "metre")
     positionobject = Measurement("Position" , "Position in Cartesian coordinates given in metre.", float, 3, (-50, 50) , "metre")
     batteryobject = Measurement("Battery level", "Battery level", int , 0 ,(0, 100), "percent")
-    measureobjectlist = [tcpobject , positionobject, batteryobject]
+    measureobjectlist = [tcpobject ,  batteryobject] #positionobject,
 
     #parameterobjekte
     openobject = Parameter("Open", "Flag to specify if something is open.", bool, 0, default = True)
@@ -80,16 +80,26 @@ async def main():
     #variable mit entsprechenden properties
 
     #measurements evtl varianttype vom variabletype und datatype measurement
+
     for a in measureobjectlist:
-        var = await myobj.add_variable(idx, a.name , a.value , datatype = vartype.nodeid)
+        name = a.name + "var"
+        name = await myobj.add_variable(idx, a.name , a.value , datatype = vartype.nodeid)
+        #namelist = namelist + name
         if a.range is not None:
-            rangeprop = await var.add_property(idx, "range", ua.Range(a.range[0], a.range[1]))
+            rangeprop = await name.add_property(idx, "range", ua.Range(a.range[0], a.range[1]))
         if a.unit is not None:
-            unitporp = await var.add_property(idx, "unit", a.unit)
-        description = await var.add_property(idx, "Description", a.description)
+            unitporp = await name.add_property(idx, "unit", a.unit)
+        description = await name.add_property(idx, "Description", a.description)
+
+    positionvar = await myobj.add_variable(idx,positionobject.name, positionobject.value, datatype = vartype.nodeid)
+    if a.range is not None:
+        posrangeprop = await positionvar.add_property(idx, "range", ua.Range(positionobject.range[0], positionobject.range[1]))
+    if a.unit is not None:
+        unitprop = await positionvar.add_property(idx, "unit", positionobject.unit)
+    posdescription = await positionvar.add_property(idx, "Description", positionobject.description)
 
     #parameters
-    
+
     for a in paraobjectlist:
         para = await myobj.add_variable(idx, a.name , a.value , datatype = paratype.nodeid)
         if a.range is not None:
@@ -106,9 +116,28 @@ async def main():
     openvar = await gripper.add_variable(idx, "Open", True, datatype = paratype.nodeid)
     await openvar.add_property(idx, "Description", "Flag to specify if something is open.")
 
+    #functions
+    #Warten auf umsetzen
+    @uamethod
+    def goTo(parent, position):
+        while positionvar.get_value() != position :
+            print("Waiting for position")
+    goTofunc = await myobj.add_method(idx, "goTo", goTo, [vartype])
+
+    #einfach umsetzen
+    @uamethod
+    def goTosetvalue (parent, position):
+        positionvar.set_value(position)
+
+    goTosetvaluefunc = await myobj.add_method(idx, "goToset", goTosetvalue, [vartype])
+
+
+
+
     #server
     async with server:
         print("Server läuft!")
+        #print(bla)
         while True:
             await asyncio.sleep(1)