diff --git a/openmanod b/openmanod
index 5dee02b..6e46990 100755
--- a/openmanod
+++ b/openmanod
@@ -50,8 +50,8 @@
 
 __author__ = "Alfonso Tierno, Gerardo Garcia, Pablo Montes"
 __date__ = "$26-aug-2014 11:09:29$"
-__version__ = "0.6.09"
-version_date = "Feb 2019"
+__version__ = "0.6.10"
+version_date = "Mar 2019"
 database_version = 37      # expected database schema version
 
 global global_config
diff --git a/osm_ro/nfvo.py b/osm_ro/nfvo.py
index 677c7c6..5a972e2 100644
--- a/osm_ro/nfvo.py
+++ b/osm_ro/nfvo.py
@@ -2998,6 +2998,7 @@
     myvims = {}
     myvim_threads_id = {}
     datacenter = instance_dict.get("datacenter")
+    default_wim_account = instance_dict.get("wim_account")
     default_datacenter_id, vim = get_datacenter_by_name_uuid(mydb, tenant_id, datacenter)
     myvims[default_datacenter_id] = vim
     myvim_threads_id[default_datacenter_id], _ = get_vim_thread(mydb, tenant_id, default_datacenter_id)
@@ -3163,7 +3164,9 @@
         # However, this is not possible yet.
         for net_name, net_instance_desc in instance_dict.get("networks", {}).iteritems():
             for scenario_net in scenarioDict['nets']:
-                if net_name == scenario_net["name"]:
+                if net_name == scenario_net.get("name") or net_name == scenario_net.get("osm_id") or net_name == scenario_net.get("uuid"):
+                    if "wim_account" in net_instance_desc and net_instance_desc["wim_account"] is not None:
+                        scenario_net["wim_account"] = net_instance_desc["wim_account"]
                     if 'ip-profile' in net_instance_desc:
                         ipprofile_db = ip_profile_IM2RO(net_instance_desc['ip-profile'])
                         if 'ip_profile' not in scenario_net:
@@ -3200,19 +3203,28 @@
                             break
             if not involved_datacenters:
                 involved_datacenters.append(default_datacenter_id)
+            target_wim_account = scenario_net.get("wim_account", default_wim_account)
 
             # --> WIM
             # TODO: use this information during network creation
             wim_account_id = wim_account_name = None
             if len(involved_datacenters) > 1 and 'uuid' in sce_net:
-                # OBS: sce_net without uuid are used internally to VNFs
-                # and the assumption is that VNFs will not be split among
-                # different datacenters
-                wim_account = wim_engine.find_suitable_wim_account(
-                    involved_datacenters, tenant_id)
-                wim_account_id = wim_account['uuid']
-                wim_account_name = wim_account['name']
-                wim_usage[sce_net['uuid']] = wim_account_id
+                if target_wim_account is None or target_wim_account is True:  # automatic selection of WIM
+                    # OBS: sce_net without uuid are used internally to VNFs
+                    # and the assumption is that VNFs will not be split among
+                    # different datacenters
+                    wim_account = wim_engine.find_suitable_wim_account(
+                        involved_datacenters, tenant_id)
+                    wim_account_id = wim_account['uuid']
+                    wim_account_name = wim_account['name']
+                    wim_usage[sce_net['uuid']] = wim_account_id
+                elif isinstance(target_wim_account, str):     # manual selection of WIM
+                    wim_account.persist.get_wim_account_by(target_wim_account, tenant_id)
+                    wim_account_id = wim_account['uuid']
+                    wim_account_name = wim_account['name']
+                    wim_usage[sce_net['uuid']] = wim_account_id
+                else:  # not WIM usage
+                    wim_usage[sce_net['uuid']] = False
             # <-- WIM
 
             descriptor_net = {}
diff --git a/osm_ro/openmano_schemas.py b/osm_ro/openmano_schemas.py
index 80795b5..5839e24 100644
--- a/osm_ro/openmano_schemas.py
+++ b/osm_ro/openmano_schemas.py
@@ -59,6 +59,8 @@
 log_level_schema={"type":"string", "enum":["DEBUG", "INFO", "WARNING","ERROR","CRITICAL"]}
 checksum_schema={"type":"string", "pattern":"^[0-9a-fA-F]{32}$"}
 size_schema={"type":"integer","minimum":1,"maximum":100}
+boolean_schema = {"type": "boolean"}
+null_schema = {"type": "null"}
 
 metadata_schema={
     "type":"object",
@@ -83,7 +85,7 @@
         "http_port": port_schema,
         "http_admin_port": port_schema,
         "http_host": nameshort_schema,
-        "auto_push_VNF_to_VIMs": {"type":"boolean"},
+        "auto_push_VNF_to_VIMs": boolean_schema,
         "vnf_repository": path_schema,
         "db_host": nameshort_schema,
         "db_user": nameshort_schema,
@@ -100,7 +102,7 @@
         "vim_tenant_name": nameshort_schema,
         "mano_tenant_name": nameshort_schema,
         "mano_tenant_id": id_schema,
-        "http_console_proxy": {"type":"boolean"},
+        "http_console_proxy": boolean_schema,
         "http_console_host": nameshort_schema,
         "http_console_ports": {
             "type": "array",
@@ -262,7 +264,7 @@
                 "net": name_schema,  #name or uuid of net to change
                 "name": name_schema,
                 "description": description_schema,
-                "shared": {"type": "boolean"}
+                "shared": boolean_schema
             },
             "minProperties": 1,
             "additionalProperties": False
@@ -311,8 +313,8 @@
     "$schema": "http://json-schema.org/draft-04/schema#",
     "type": "object",
     "properties":{
-        "enabled": {"type": "boolean"},
-        "start-address": {"OneOf": [{"type": "null"}, ip_schema]},
+        "enabled": boolean_schema,
+        "start-address": {"OneOf": [null_schema, ip_schema]},
         "count": integer0_schema
     },
     # "required": ["start-address", "count"],
@@ -431,7 +433,7 @@
     "type":"object",
     "properties":{
         "name": name_schema,
-        "mgmt": {"type":"boolean"},
+        "mgmt": boolean_schema,
         "type": {"type": "string", "enum":["e-line", "e-lan"]},
         "implementation": {"type": "string", "enum":["overlay", "underlay"]},
         "VNFC": name_schema,
@@ -468,8 +470,8 @@
             "vpci":pci_schema,
             "mac_address": mac_schema,
             "model": {"type":"string", "enum":["virtio","e1000","ne2k_pci","pcnet","rtl8139", "paravirt"]},
-            "port-security": {"type" : "boolean"},
-            "floating-ip": {"type" : "boolean"}
+            "port-security": boolean_schema,
+            "floating-ip": boolean_schema,
         },
         "additionalProperties": False,
         "required": ["name"]
@@ -539,7 +541,7 @@
         "user-data": {"type" : "string"},  # scrip to run
         "config-files": {"type": "array", "items": config_files_schema},
         # NOTE: “user-data” are mutually exclusive with users and config-files because user/files are injected using user-data
-        "boot-data-drive": {"type": "boolean"},
+        "boot-data-drive": boolean_schema,
     },
     "additionalProperties": False,
 }
@@ -604,8 +606,8 @@
                 "description": description_schema,
 
                 "class": nameshort_schema,
-                "public": {"type" : "boolean"},
-                "physical": {"type" : "boolean"},
+                "public": boolean_schema,
+                "physical": boolean_schema,
                 "default_user": name_schema,
                 "tenant_id": id_schema, #only valid for admin
                 "external-connections": {"type" : "array", "items": external_connection_schema, "minItems":1},
@@ -633,8 +635,8 @@
                 "name": name_schema,
                 "description": description_schema,
                 "class": nameshort_schema,
-                "public": {"type" : "boolean"},
-                "physical": {"type" : "boolean"},
+                "public": boolean_schema,
+                "physical": boolean_schema,
                 "tenant_id": id_schema, #only valid for admin
                 "external-connections": {"type" : "array", "items": external_connection_schema, "minItems":1},
                 "internal-connections": {"type" : "array", "items": internal_connection_schema_v02, "minItems":1},
@@ -683,7 +685,7 @@
         "name":name_schema,
         "description": description_schema,
         "tenant_id": id_schema, #only valid for admin
-        "public": {"type": "boolean"},
+        "public": boolean_schema,
         "topology":{
             "type":"object",
             "properties":{
@@ -739,7 +741,7 @@
                 "name": name_schema,
                 "description": description_schema,
                 "tenant_id": id_schema, #only valid for admin
-                "public": {"type": "boolean"},
+                "public": boolean_schema,
                 "vnfs": {
                     "type":"object",
                     "patternProperties":{
@@ -762,7 +764,7 @@
                             "properties":{
                                 "interfaces":{"type":"array", "minLength":1},
                                 "type": {"type": "string", "enum":["dataplane", "bridge"]},
-                                "external" : {"type": "boolean"},
+                                "external" : boolean_schema,
                                 "graph": graph_schema
                             },
                             "required": ["interfaces"]
@@ -792,7 +794,7 @@
                 "name": name_schema,
                 "description": description_schema,
                 "tenant_id": id_schema, #only valid for admin
-                "public": {"type": "boolean"},
+                "public": boolean_schema,
                 "cloud-config": cloud_config_schema, #common for all vnfs in the scenario
                 #"datacenter": name_schema,
                 "vnfs": {
@@ -855,7 +857,7 @@
                                 },
                                 "type": {"type": "string", "enum":["e-line", "e-lan"]},
                                 "implementation": {"type": "string", "enum":["overlay", "underlay"]},
-                                "external" : {"type": "boolean"},
+                                "external" : boolean_schema,
                                 "graph": graph_schema,
                                 "ip-profile": ip_profile_schema
                             },
@@ -977,7 +979,7 @@
                 "type": "object",
                 "properties": {
                     "name": name_schema,
-                    "external": {"type": "boolean"},
+                    "external": boolean_schema,
                     "type": {"enum": ["bridge", "ptp", "data"]},  # for overlay, underlay E-LINE, underlay E-LAN
                 },
                 "additionalProperties": False,
@@ -1003,9 +1005,10 @@
                 "name": name_schema,
                 "description":description_schema,
                 "datacenter": name_schema,
+                "wim_account": {"oneOf": [boolean_schema, id_schema, null_schema]},
                 "scenario" : {"oneOff": [name_schema, instance_scenario_object]},  # can be an UUID or name or a dict
                 "action":{"enum": ["deploy","reserve","verify" ]},
-                "connect_mgmt_interfaces": {"oneOf": [{"type":"boolean"}, {"type":"object"}]},# can be true or a dict with datacenter: net_name
+                "connect_mgmt_interfaces": {"oneOf": [boolean_schema, {"type":"object"}]},# can be true or a dict with datacenter: net_name
                 "cloud-config": cloud_config_schema, #common to all vnfs in the instance scenario
                 "vnfs":{             #mapping from scenario to datacenter
                     "type": "object",
@@ -1041,7 +1044,7 @@
                                                         ".": {
                                                             "ip_address": ip_schema,
                                                             "mac_address": mac_schema,
-                                                            "floating-ip": {"type": "boolean"},
+                                                            "floating-ip": boolean_schema,
                                                         }
                                                     }
                                                 }
@@ -1089,6 +1092,7 @@
                                         }
                                     }
                                 },
+                                "wim_account": {"oneOf": [boolean_schema, id_schema, null_schema]},
                                 "ip-profile": ip_profile_schema,
                                 #if the network connects VNFs deployed at different sites, you must specify one entry per site that this network connect to
                                 "sites": {
@@ -1100,7 +1104,7 @@
                                             # By default for an scenario 'external' network openmano looks for an existing VIM network to map this external scenario network,
                                             # for other networks openamno creates at VIM
                                             # Use netmap-create to force to create an external scenario network
-                                            "netmap-create": {"oneOf":[name_schema,{"type": "null"}]}, #datacenter network to use. Null if must be created as an internal net
+                                            "netmap-create": {"oneOf":[name_schema,null_schema]}, #datacenter network to use. Null if must be created as an internal net
                                             #netmap-use:   Indicates an existing VIM network that must be used for this scenario network.
                                             #Can use both the VIM network name (if it is not ambiguous) or the VIM net UUID
                                             #If both 'netmap-create' and 'netmap-use'are supplied, netmap-use precedes, but if fails openmano follows the netmap-create
@@ -1131,13 +1135,13 @@
     "$schema": "http://json-schema.org/draft-04/schema#",
     "type": "object",
     "properties": {
-        "start": {"type": "null"},
-        "pause": {"type": "null"},
-        "resume": {"type": "null"},
-        "shutoff": {"type": "null"},
-        "shutdown": {"type": "null"},
-        "forceOff": {"type": "null"},
-        "rebuild": {"type": "null"},
+        "start": null_schema,
+        "pause": null_schema,
+        "resume": null_schema,
+        "shutoff": null_schema,
+        "shutdown": null_schema,
+        "forceOff": null_schema,
+        "rebuild": null_schema,
         "reboot": {
             "type": ["object", "null"],
         },
@@ -1224,7 +1228,7 @@
                         "items": {
                             "type": "object",
                             "properties": {
-                                "pci": {"OneOf": [{"type": "null"}, pci_extended_schema]},       # pci_schema,
+                                "pci": {"OneOf": [null_schema, pci_extended_schema]},       # pci_schema,
                                 "switch_port": nameshort_schema,
                                 "switch_mac": mac_schema
                             },
diff --git a/osm_ro/wim/engine.py b/osm_ro/wim/engine.py
index 39defb1..a5da1dd 100644
--- a/osm_ro/wim/engine.py
+++ b/osm_ro/wim/engine.py
@@ -356,7 +356,7 @@
         (NSR).
 
         Arguments:
-            wim_usage(dict): Mapping between sce_net_id and wim_id
+            wim_usage(dict): Mapping between sce_net_id and wim_id. If wim_id is False, means not create wam_links
             networks(list): Dicts containing the information about the networks
                 that will be instantiated to materialize a Network Service
                 (scenario) instance.
@@ -374,11 +374,11 @@
         wan_groups = [key
                       for key, counter in datacenters_per_group
                       if counter > 1]
-
+        # Keys are tuples(instance_scenario_id, sce_net_id)
         return [
             self.derive_wan_link(wim_usage,
                                  key[0], key[1], grouped_networks[key], tenant)
-            for key in wan_groups
+            for key in wan_groups if wim_usage.get(key[1]) is not False
         ]
 
     def create_action(self, wan_link):
@@ -511,7 +511,7 @@
             (scenario) instance.
     Returns:
         dict: Keys are tuples (instance_scenario_id, sce_net_id) and values
-            are lits of networks.
+            are list of networks.
     """
     criteria = itemgetter('instance_scenario_id', 'sce_net_id')
 
