server_version = self.get_cached_server_version(server)
             if 'sfa' in server_version:
                 # just request the version the client wants 
-                options['rspec_version'] = version_manager.get_version(opts.rspec_version).to_dict()
+                options['geni_rspec_version'] = version_manager.get_version(opts.rspec_version).to_dict()
             else:
                 # this must be a protogeni aggregate. We should request a v2 ad rspec
                 # regardless of what the client user requested 
-                options['rspec_version'] = version_manager.get_version('ProtoGENI 2').to_dict()     
-
+                options['geni_rspec_version'] = version_manager.get_version('ProtoGENI 2').to_dict()     
+        options['geni_rspec_version'] = {'type': 'geni', 'version': '3.0'}
+ 
         call_args = [creds, options]
         result = server.ListResources(*call_args)
         value = ReturnValue.get_value(result)
 
     
         version_manager = VersionManager()
         # get the rspec's return format from options
-        rspec_version = version_manager.get_version(options.get('rspec_version'))
+        rspec_version = version_manager.get_version(options.get('geni_rspec_version'))
         version_string = "rspec_%s" % (rspec_version)
     
         #panos adding the info option to the caching key (can be improved)
 
 from sfa.util.xrn import urn_to_hrn
 from sfa.util.method import Method
 from sfa.util.sfatablesRuntime import run_sfatables
-from sfa.util.faults import InvalidRSpecVersion
+from sfa.util.faults import SfaInvalidArgument
 from sfa.trust.credential import Credential
 
 from sfa.storage.parameter import Parameter, Mixed
         self.api.logger.info("interface: %s\tmethod-name: %s" % (self.api.interface, self.name))
        
         # client must specify a version
-        if not options.get('rspec_version'):
-            raise InvalidRSpecVersion('Must specify an rspec version option. rspec_version cannot be null')
+        if not options.get('geni_rspec_version'):
+            raise SfaInvalidArgument('Must specify an rspec version option. geni_rspec_version cannot be null')
  
         # get slice's hrn from options    
         xrn = options.get('geni_slice_urn', '')
 
 import os
-from sfa.util.faults import InvalidRSpec, InvalidRSpecVersion
+from sfa.util.faults import InvalidRSpec, UnsupportedRSpecVersion
 from sfa.rspecs.baseversion import BaseVersion 
 from sfa.util.sfalogging import logger    
 
                       or version.content_type == '*':
                         retval = version
         if not retval:
-            raise InvalidRSpecVersion("No such version: %s %s %s "% (type, version_num, content_type))
+            raise UnvalidRSpecVersion("%s %s is not suported here"% (type, version_num, content_type))
         return retval
 
     def get_version(self, version=None):
 
     def __str__(self):
         return repr(self.value)
 
+class UnsupportedRSpecVersion(SfaFault):
+    def __init__(self, value, extra = None):
+        self.value = value
+        faultString = "Unsupported RSpec version: %(value)s" % locals()
+        SfaFault.__init__(self, GENICODE.UNSUPPORTED, faultString, extra)
+    def __str__(self):
+        return repr(self.value)
+
 class InvalidRSpecElement(SfaFault):
     def __init__(self, value, extra = None):
         self.value = value