diff --git a/osmclient/scripts/osm.py b/osmclient/scripts/osm.py
index cd5fcf9..46ceb91 100755
--- a/osmclient/scripts/osm.py
+++ b/osmclient/scripts/osm.py
@@ -228,6 +228,8 @@
     def summarize_deployment_status(status_dict):
         #Nets
         summary = ""
+        if not status_dict:
+            return summary
         n_nets = 0
         status_nets = {}
         net_list = status_dict.get('nets',[])
@@ -278,6 +280,9 @@
         return summary
         
     def summarize_config_status(ee_list):
+        summary = ""
+        if not ee_list:
+            return summary
         n_ee = 0
         status_ee = {}
         for ee in ee_list:
@@ -290,7 +295,6 @@
                 status_ee[ee['elementType']][ee['status']] += 1
             else:
                 status_ee[ee['elementType']][ee['status']] = 1
-        summary = ""
         for elementType in ["KDU", "VDU", "PDU", "VNF", "NS"]:
             if elementType in status_ee:
                 message = ""
@@ -302,6 +306,7 @@
                 summary += "{}: {}".format(elementType, message)
         summary += "TOTAL Exec. Env.: {}".format(n_ee)
         return summary
+
     logger.debug("")
     if filter:
         check_client_version(ctx.obj, '--filter')
@@ -334,13 +339,14 @@
         fullclassname = ctx.obj.__module__ + "." + ctx.obj.__class__.__name__
         if fullclassname == 'osmclient.sol005.client.Client':
             nsr = ns
+            logger.debug('NS info: {}'.format(nsr))
             nsr_name = nsr['name']
             nsr_id = nsr['_id']
             date = datetime.fromtimestamp(nsr['create-time']).strftime("%Y-%m-%dT%H:%M:%S")
-            ns_state = nsr['nsState']
+            ns_state = nsr.get('nsState', nsr['_admin']['nsState'])
             if long:
-                deployment_status = summarize_deployment_status(nsr['deploymentStatus'])
-                config_status = summarize_config_status(nsr['configurationStatus'])
+                deployment_status = summarize_deployment_status(nsr.get('deploymentStatus'))
+                config_status = summarize_config_status(nsr.get('configurationStatus'))
                 project_id = nsr.get('_admin').get('projects_read')[0]
                 project_name = '-'
                 for p in project_list:
@@ -357,9 +363,12 @@
                         break
                 #vim = '{} ({})'.format(vim_name, vim_id)
                 vim = vim_name
-            current_operation = "{} ({})".format(nsr['currentOperation'],nsr['currentOperationID'])
+            if 'currentOperation' in nsr:
+                current_operation = "{} ({})".format(nsr['currentOperation'],nsr['currentOperationID'])
+            else:
+                current_operation = "{} ({})".format(nsr['_admin'].get('current-operation','-'), nsr['_admin']['nslcmop'])
             error_details = "N/A"
-            if ns_state == "BROKEN" or ns_state == "DEGRADED" or nsr['errorDescription']:
+            if ns_state == "BROKEN" or ns_state == "DEGRADED" or nsr.get('errorDescription'):
                 error_details = "{}\nDetail: {}".format(nsr['errorDescription'], nsr['errorDetail'])
         else:
             nsopdata = ctx.obj.ns.get_opdata(ns['id'])
@@ -1419,9 +1428,12 @@
               help='The charm will not be compiled, it is assumed to already exist')
 @click.pass_context
 def nsd_create1(ctx, filename, overwrite, skip_charm_build):
-    """creates a new NSD/NSpkg
+    """onboards a new NSpkg (alias of nspkg-create) (TO BE DEPRECATED)
 
-    FILENAME: NSD yaml file or NSpkg tar.gz file
+    \b
+    FILENAME: NF Package tar.gz file, NF Descriptor YAML file or NF Package folder
+              If FILENAME is a file (NF Package tar.gz or NF Descriptor YAML), it is onboarded.
+              If FILENAME is an NF Package folder, it is built and then onboarded.
     """
     logger.debug("")
     nsd_create(ctx, filename, overwrite=overwrite, skip_charm_build=skip_charm_build)
@@ -1438,9 +1450,12 @@
               help='The charm will not be compiled, it is assumed to already exist')
 @click.pass_context
 def nsd_create2(ctx, filename, overwrite, skip_charm_build):
-    """creates a new NSD/NSpkg
+    """onboards a new NSpkg
 
-    FILENAME: NSD folder, NSD yaml file or NSpkg tar.gz file
+    \b
+    FILENAME: NF Package tar.gz file, NF Descriptor YAML file or NF Package folder
+              If FILENAME is a file (NF Package tar.gz or NF Descriptor YAML), it is onboarded.
+              If FILENAME is an NF Package folder, it is built and then onboarded.
     """
     logger.debug("")
     nsd_create(ctx, filename, overwrite=overwrite, skip_charm_build=skip_charm_build)
@@ -1475,9 +1490,12 @@
               help='overrides all VDU interfaces to PARAVIRT')
 @click.pass_context
 def vnfd_create1(ctx, filename, overwrite, skip_charm_build, override_epa, override_nonepa, override_paravirt):
-    """creates a new VNFD/VNFpkg
+    """onboards a new NFpkg (alias of nfpkg-create) (TO BE DEPRECATED)
 
-    FILENAME: VNFD yaml file or VNFpkg tar.gz file
+    \b
+    FILENAME: NF Package tar.gz file, NF Descriptor YAML file or NF Package folder
+              If FILENAME is a file (NF Package tar.gz or NF Descriptor YAML), it is onboarded.
+              If FILENAME is an NF Package folder, it is built and then onboarded.
     """
     logger.debug("")
     vnfd_create(ctx, filename, overwrite=overwrite, skip_charm_build=skip_charm_build,
@@ -1501,9 +1519,12 @@
               help='overrides all VDU interfaces to PARAVIRT')
 @click.pass_context
 def vnfd_create2(ctx, filename, overwrite, skip_charm_build, override_epa, override_nonepa, override_paravirt):
-    """creates a new VNFD/VNFpkg
+    """onboards a new NFpkg (alias of nfpkg-create)
 
-    FILENAME: NF Package Folder, NF Descriptor yaml file or NFpkg tar.gz file
+    \b
+    FILENAME: NF Package tar.gz file, NF Descriptor YAML file or NF Package folder
+              If FILENAME is a file (NF Package tar.gz or NF Descriptor YAML), it is onboarded.
+              If FILENAME is an NF Package folder, it is built and then onboarded.
     """
     logger.debug("")
     vnfd_create(ctx, filename, overwrite=overwrite, skip_charm_build=skip_charm_build,
@@ -1527,9 +1548,12 @@
               help='overrides all VDU interfaces to PARAVIRT')
 @click.pass_context
 def nfpkg_create(ctx, filename, overwrite, skip_charm_build, override_epa, override_nonepa, override_paravirt):
-    """creates a new NFpkg
+    """onboards a new NFpkg (alias of nfpkg-create)
 
-    FILENAME: NF Package Folder, NF Descriptor yaml file or NFpkg tar.gz filems to build
+    \b
+    FILENAME: NF Package tar.gz file, NF Descriptor YAML file or NF Package folder
+              If FILENAME is a file (NF Package tar.gz or NF Descriptor YAML), it is onboarded.
+              If FILENAME is an NF Package folder, it is built and then onboarded.
     """
     logger.debug("")
     vnfd_create(ctx, filename, overwrite=overwrite, skip_charm_build=skip_charm_build,
@@ -2297,7 +2321,7 @@
 #    else:
 #        resp = ctx.obj.vim.list(ro_update)
     if long:
-        table = PrettyTable(['vim name', 'uuid', 'operational state', 'error details'])
+        table = PrettyTable(['vim name', 'uuid', 'project', 'operational state', 'error details'])
     else:
         table = PrettyTable(['vim name', 'uuid'])
     for vim in resp:
@@ -2310,7 +2334,18 @@
             error_details = 'N/A'
             if vim_state == 'ERROR':
                 error_details = vim_details['_admin'].get('detailed-status', 'Not found')
-            table.add_row([vim['name'], vim['uuid'], vim_state, wrap_text(text=error_details, width=80)])
+            project_list = ctx.obj.project.list()
+            vim_project_list = vim_details.get('_admin').get('projects_read')
+            project_id = 'None'
+            project_name = 'None'
+            if vim_project_list:
+                project_id = vim_project_list[0]
+                for p in project_list:
+                    if p['_id'] == project_id:
+                        project_name = p['name']
+                        break
+            table.add_row([vim['name'], vim['uuid'], '{} ({})'.format(project_name, project_id),
+                          vim_state, wrap_text(text=error_details, width=80)])
         else:
             table.add_row([vim['name'], vim['uuid']])
     table.align = 'l'
