diff --git a/file_entity.admin.inc b/file_entity.admin.inc
index b3e097c..e3989ff 100644
--- a/file_entity.admin.inc
+++ b/file_entity.admin.inc
@@ -18,7 +18,8 @@ function file_entity_admin_files($form, &$form_state) {
     $operation = $form_state['values']['operation'];
     return call_user_func_array($operation['callback'], array($form_state['values']['files']));
   }
-  $limit = variable_get('media_admin_limit', 50);
+  
+  $limit = variable_get('file_entity_admin_files_limit', 50);
 
   // Build the 'Update options' form.
   $form['options'] = array(
@@ -28,7 +29,9 @@ function file_entity_admin_files($form, &$form_state) {
   );
 
   $options = array();
-  $form['#operations'] = module_invoke_all('file_operations');
+  $form['#operations'] = module_invoke_all('file_operations_info');
+  drupal_alter('file_entity_file_operations', $form['#operations']);
+  
   foreach ($form['#operations'] as $operation => $array) {
     $options[$operation] = $array['label'];
   }
@@ -81,9 +84,28 @@ function file_entity_admin_files($form, &$form_state) {
       'author' => theme('username', array('account' => $file)),
       'timestamp' => format_date($file->timestamp, 'short'),
     );
-    $options[$file->fid]['operations'] = l(t('edit'), 'file/' . $file->fid . '/edit', array('query' => $destination));
-  }
 
+    $options[$file->fid]['operations'] = array(
+      'data' => array(
+        '#theme' => 'links__file_operations',
+        '#links' => array(),
+        '#attributes' => array('class' => array('links', 'inline')),
+      ),
+    );
+    
+    $options[$file->fid]['operations']['data']['#links']['edit'] = array(
+      'title' => t('edit'),
+      'href' => 'file/' . $file->fid . '/edit',
+      'query' => $destination,
+    );
+    
+    $options[$file->fid]['operations']['data']['#links']['delete'] = array(
+      'title' => t('delete'),
+      'href' => 'file/' . $file->fid . '/delete',
+      'query' => $destination,
+    );
+  }
+  
   $form['files'] = array(
     '#type' => 'tableselect',
     '#header' => $header,
diff --git a/file_entity.file_api.inc b/file_entity.file_api.inc
index 166dbbc..aa64fa5 100644
--- a/file_entity.file_api.inc
+++ b/file_entity.file_api.inc
@@ -492,15 +492,15 @@ function file_uri_to_object($uri, $use_existing = TRUE) {
  * A list of operations which can be called on files.
  *
  * @return
- *  An associave array of operations keyed by a system name in the following format:
+ *  An associave array of operations keyed by a system name.
  *    - label: A string to show in the operations dropdown.
- *    - callback (string): A callback function to call for the operation.  This function
-          will be passed an array of file_ids which were selected.
+ *    - callback (string): A callback function to call for the operation. This
+ *        function will be passed an array of file_ids which were selected.
  *    - confirm (boolean): Whether or not this operation requires a confirm form
  *        In the case where confirm is set to true, callback should be a function
  *        which can return a confirm form.
  */
-function hook_file_operations() {
+function hook_file_operations_info() {
   $operations = array(
     'archive_and_email' => array(
       'label' => t('Archive the selected files and email them'),
diff --git a/file_entity.module b/file_entity.module
index 6919a01..6a42aae 100644
--- a/file_entity.module
+++ b/file_entity.module
@@ -663,9 +663,9 @@ function file_entity_view_mode_label($view_mode, $default = FALSE) {
 }
 
 /**
- * Implements hook_file_operations().
+ * Implements hook_file_operations_info().
  */
-function file_entity_file_operations() {
+function file_entity_file_operations_info() {
   $operations = array(
     'delete' => array(
       'label' => t('Delete selected files'),
@@ -676,7 +676,6 @@ function file_entity_file_operations() {
   return $operations;
 }
 
-
 /**
  * File operation to show a confirm form for file deletion.
  *
diff --git a/file_entity.pages.inc b/file_entity.pages.inc
index 93c6de0..28f7f8a 100644
--- a/file_entity.pages.inc
+++ b/file_entity.pages.inc
@@ -151,6 +151,7 @@ function file_entity_multiple_delete_confirm_submit($form, &$form_state) {
       }
       else {
         $message = t('File @title was deleted', array('@title' => $file->filename));
+        $form_state['redirect'] = '<front>';
         watchdog('file', $message);
         drupal_set_message($message);
       }
