diff --git a/services_search.module b/services_search.module
index cc1e0da..4082cfb 100644
--- a/services_search.module
+++ b/services_search.module
@@ -6,51 +6,69 @@
 function services_search_services_resources() {
   $search_resource = array(
     'search_node' => array(
-      'retrieve' => array(
-        'file' => array('type' => 'inc', 'module' => 'services_search', 'name' => 'services_search.resource'),
-        'callback' => '_services_search_resource_node',
-        'args' => array(
-          array(
-            'name' => 'keys',
-            'optional' => FALSE,
-            'source' => array('param' => 'keys'),
-            'type' => 'string',
-            'description' => 'The search key(s)',
-          ),
-          array(
-            'name' => 'simple',
-            'optional' => TRUE,
-            'source' => array('param' => 'simple'),
-            'type' => 'boolean',
-            'description' => 'Return a simple result or full nodes.',
-          ),
-          array(
-            'name' => 'fields',
-            'optional' => TRUE,
-            'source' => array('param' => 'fields'),
-            'type' => 'array',
-            'description' => 'Limit nodes to these fields when not using simple results.',
+      'operations' => array(
+        'retrieve' => array(
+          'file' => array('type' => 'inc', 'module' => 'services_search', 'name' => 'services_search.resource'),
+          'callback' => '_services_search_resource_node',
+          'args' => array(
+            array(
+              'name' => 'op',
+              'optional' => FALSE,
+              'source' => array('path' => 0),
+              'type' => 'string',
+              'description' => 'The operation',
+            ),
+            array(
+              'name' => 'keys',
+              'optional' => FALSE,
+              'source' => array('param' => 'keys'),
+              'type' => 'string',
+              'description' => 'The search key(s)',
+            ),  
+            array(
+              'name' => 'simple',
+              'optional' => TRUE,
+              'source' => array('param' => 'simple'),
+              'type' => 'boolean',
+              'description' => 'Return a simple result or full nodes.',
+            ),
+            array(
+              'name' => 'fields',
+              'optional' => TRUE,
+              'source' => array('param' => 'fields'),
+              'type' => 'array',
+              'description' => 'Limit nodes to these fields when not using simple results.',
+            ),
           ),
+          'access arguments' => array('search content'),
+          'access arguments append' => FALSE,
         ),
-        'access arguments' => array('search content'),
-        'access arguments append' => FALSE,
       ),
     ),
     'search_user' => array(
-      'retrieve' => array(
-        'file' => array('type' => 'inc', 'module' => 'services_search', 'name' => 'services_search.resource'),
-        'callback' => '_services_search_resource_user',
-        'args' => array(
-          array(
-            'name' => 'keys',
-            'optional' => FALSE,
-            'source' => array('param' => 'keys'),
-            'type' => 'string',
-            'description' => 'The search key(s)',
+      'operations' => array(  
+        'retrieve' => array(
+          'file' => array('type' => 'inc', 'module' => 'services_search', 'name' => 'services_search.resource'),
+          'callback' => '_services_search_resource_user',
+          'args' => array(
+            array(
+              'name' => 'op',
+              'optional' => FALSE,
+              'source' => array('path' => 0),
+              'type' => 'string',
+              'description' => 'The operation',
+            ),              
+            array(
+              'name' => 'keys',
+              'optional' => FALSE,
+              'source' => array('param' => 'keys'),
+              'type' => 'string',
+              'description' => 'The search key(s)',
+            ),
           ),
+          'access arguments' => array('search content'),
+          'access arguments append' => FALSE,
         ),
-        'access arguments' => array('search content'),
-        'access arguments append' => FALSE,
       ),
     ),
   );
diff --git a/services_search.resource.inc b/services_search.resource.inc
index bad5ff5..4f7a2e3 100644
--- a/services_search.resource.inc
+++ b/services_search.resource.inc
@@ -24,7 +24,7 @@
  * @see hook_search_execute()
  * @see node_search_execute()
  */
-function _services_search_resource_node($keys, $simple = FALSE, $fields = array()) {
+function _services_search_resource_node($op, $keys, $simple = FALSE, $fields = array()) {
   // Define standard keys for simple set.
   $stdkeys = array('node', 'link', 'type', 'title', 'user', 'date', 'snippet', 'language', 'created');
 
@@ -69,7 +69,7 @@ function _services_search_resource_node($keys, $simple = FALSE, $fields = array(
  * @see hook_search_execute()
  * @see user_search_execute()
  */
-function _services_search_resource_user($keys) {
+function _services_search_resource_user($op, $keys) {
   // Invoke the search hook to generate results
   $results = module_invoke('user', 'search_execute', $keys);
   if ($results && is_array($results) && count($results)) {
