except:
             # Just print exceptions, this is just cleanup
             import traceback
-            traceback.print_exc(file=sys.stderr)
+            ######## BUG ##########
+            #BUG: If the next line is uncomented pyQt explodes when shutting down the experiment !!!!!!!!
+            #traceback.print_exc(file=sys.stderr)
 
     def stop(self):
        for testbed in self._testbeds.values():
 
             stderr = stderr, user = user)
     testbed_instance.elements[guid] = element
 
+def stop_application(testbed_instance, guid):
+    #app = testbed_instance.elements[guid]
+    #app.signal()
+    pass
+
 ### Status functions ###
 
 def status_application(testbed_instance, guid):
             "category": "applications",
             "create_function": create_application,
             "start_function": start_application,
+            "stop_function": stop_application,
             "status_function": status_application,
             "box_attributes": ["command", "user"],
             "connector_types": ["node"],
 
             "init_code": connect_mac_device,
             "can_cross": False
     }),
+    dict({
+            "from": ( "ns3", "ns3::NqapWifiMac", "dev" ),
+            "to":   ( "ns3", "ns3::WifiNetDevice", "mac" ),
+            "init_code": connect_mac_device,
+            "can_cross": False
+    }),
+    dict({
+            "from": ( "ns3", "ns3::NqstaWifiMac", "dev" ),
+            "to":   ( "ns3", "ns3::WifiNetDevice", "mac" ),
+            "init_code": connect_mac_device,
+            "can_cross": False
+    }),
     dict({
             "from": ( "ns3", "ns3::RateErrorModel", "dev" ),
             "to":   ( "ns3", "ns3::CsmaNetDevice", "err" ),
 
         "tags": [tags.MOBILE],
     }),
      "ns3::Node": dict({
-        "category": "Topology",
+        "category": "Node",
         "create_function": create_node,
         "configure_function": configure_node,
         "help": "",
     }),
      "ns3::NqstaWifiMac": dict({
         "category": "Mac",
-        "create_function": create_element,
+        "create_function": create_wifi_standard_model,
         "configure_function": configure_element,
         "help": "",
-        "connector_types": [],
+        "connector_types": ["dev"],
         "box_attributes": ["ProbeRequestTimeout",
             "AssocRequestTimeout",
             "MaxMissedBeacons",
     }),
      "ns3::NqapWifiMac": dict({
         "category": "Mac",
-        "create_function": create_element,
+        "create_function": create_wifi_standard_model,
         "configure_function": configure_element,
         "help": "",
-        "connector_types": [],
+        "connector_types": ["dev"],
         "box_attributes": ["BeaconInterval",
             "BeaconGeneration",
             "CtsTimeout",
         "box_attributes": ["DefaultLoss"],
     }),
      "ns3::WifiNetDevice": dict({
-        "category": "Wifi",
+        "category": "Device",
         "create_function": create_element,
         "configure_function": configure_device,
         "help": "",
         "box_attributes": ["Mtu"],
     }),
      "ns3::CsmaChannel": dict({
-        "category": "Topology",
+        "category": "Channel",
         "create_function": create_element,
         "configure_function": configure_element,
         "help": "",
             "EnableBeaconCollisionAvoidance"],
     }),
      "ns3::MeshPointDevice": dict({
-        "category": "Topology",
+        "category": "Device",
         "create_function": create_element,
         "configure_function": configure_element,
         "help": "",