diff --git a/plstackapi/openstack/driver.py b/plstackapi/openstack/driver.py
index fe93fbc..03d4ed6 100644
--- a/plstackapi/openstack/driver.py
+++ b/plstackapi/openstack/driver.py
@@ -170,26 +170,22 @@
         for key in keys:
             self.shell.nova.keypairs.delete(key) 
 
-    def spawn_instance(self, name, key_name=None, hostname=None, flavor=None, image=None, security_group=None, pubkeys=[]):
-        if not flavor:
-            flavor = self.config.nova_default_flavor
-        if not image:
-            image = self.config.nova_default_imave
+    def spawn_instance(self, name, key_name=None, hostname=None, flavor_id=None, image_id=None, security_group=None, pubkeys=[]):
+        #if not flavor_id:
+        #    flavor = self.config.nova_default_flavor
+        #if not image:
+        #    image = self.config.nova_default_imave
         if not security_group:
             security_group = self.config.nova_default_security_group 
 
         authorized_keys = "\n".join(pubkeys)
         files = {'/root/.ssh/authorized_keys': authorized_keys}
        
-        flavor_id = self.shell.nova.flavors.find(name=flavor)
-        images = self.shell.glance.get_images(name=image)
-        if not images:
-            raise Exception, "Image not found: " + image  
-        image_id = images[0]['id']
         hints = {}
         if hostname:
             #hints['force_hosts']= hostname
-            hints['availability-zone'] = 'nova:%s' % hostname
+            #hints['availability-zone'] = 'nova:%s' % hostname
+            pass
         server = self.shell.nova.servers.create(
                                             name=name,
                                             key_name = key_name,
