self.server = xmlrpclib.ServerProxy(slicemgr_url)
 
     def create_slice(self, slice):
-        self.server.slicemgr.createSlice(slice)
+        self.server.createSlice(slice)
 
     def add_resource(self, slice, resource):
-        self.server.slicemgr.addResource(slice, resource)
+        self.server.addResource(slice, resource)
 
     def delete_slice(self, slice):
-        self.server.slicemgr.deleteSlice(slice)
+        self.server.deleteSlice(slice)
         
     def delete_resource(self, slice, resource):
-        self.server.slicemgr.removeResource(slice, resource)
+        self.server.removeResource(slice, resource)
 
     def before(self, wobj, data, *args, **kwargs):
         BaseOMF.before(self, wobj, data, *args, **kwargs)
 
 
 
 
-class Slicemgr(PubSubClient, xmlrpc.XMLRPC):
+class Slicemgr(xmlrpc.XMLRPC, PubSubClient):
     
     DOMAIN = "/OMF"
     RESOURCES = 'resources'
 
     def __init__(self, id, secret, verbose = False, log = None):
+        xmlrpc.XMLRPC.__init__(self, allowNone=True)
         PubSubClient.__init__(self, id, secret, verbose = verbose, log = log)
         self.command_queue = Queue.Queue()
 
-        # for xmlrpc interface
-        self.allowNone = True
+        xmlrpc.addIntrospection(self)
 
     def xmlrpc_createSlice(self, slice):
         self.create_slice(slice)