diff --git a/README.txt b/README.txt
index 70a6e7b..0203c88 100644
--- a/README.txt
+++ b/README.txt
@@ -91,10 +91,12 @@ Bug reports, feature suggestions and latest developments:
 
 Current maintainers:
 * Daniel F. Kudwien (sun) - dev@unleashedmind.com
+* Richard Archer (Richard Archer) - http://www.juggernaut.com.au
+
+Credits:
 * Drupal 7 port - javier.alejandro.castro@gmail.com
 
 Previous maintainers:
-* Richard Archer (Richard Archer) - http://www.juggernaut.com.au
 * Matteo Ferrari (matteo) - webmaster@cantincoro.org
 
 This project has been sponsored by:
diff --git a/inline.info b/inline.info
index fa305d1..8438a97 100644
--- a/inline.info
+++ b/inline.info
@@ -1,8 +1,9 @@
 name = Inline
 description = Allows attached files to be placed into the body of a node either automatically or by using simple tags.
 package = Input filters
-dependencies[] = upload
-core = "7.x"
+dependencies[] = filter
+dependencies[] = file
+core = 7.x
 
 ; Information added by drupal.org packaging script on 2009-01-13
 version = "7.x-1.x-dev"
diff --git a/inline.module b/inline.module
index 3d593f0..67a16a8 100644
--- a/inline.module
+++ b/inline.module
@@ -9,7 +9,6 @@
  * Implementation of hook_menu().
  */
 function inline_menu() {
-  $items = array();
   $items['admin/config/content/inline'] = array(
     'title' => 'Inline',
     'description' => 'Manage automatic and manual inclusion of attachments in the content of your posts.',
@@ -26,20 +25,18 @@ function inline_menu() {
 function inline_permission() {
   return array(
     'administer inline settings' => array(
-      'title' => t('Administer Inline Settings'), 
-      'description' => t('Perform administration tasks for Inline.'),
+      'title' => t('Administer Inline settings'),
     ),
   );
 }
 
-
 /**
  * Implementation of hook_help().
  */
 function inline_help($path, $arg) {
   switch ($path) {
     case 'admin/help#inline':
-      return t('<p>Sometimes a user may want to add an image or a file inside the body of a node. This can be done with special tags that are replaced by links to the corresponding uploaded file. If the file is an image, it will be displayed inline, otherwise a link to the file will be inserted. To enable this feature and learn the proper syntax, visit the <a href="!filters">filters configuration screen</a>.</p>', array('!filters' => url('admin/config/content/format')));
+      return t('<p>Sometimes a user may want to add an image or a file inside the body of a node. This can be done with special tags that are replaced by links to the corresponding uploaded file. If the file is an image, it will be displayed inline, otherwise a link to the file will be inserted. To enable this feature and learn the proper syntax, visit the <a href="!filters">filters configuration screen</a>.</p>', array('!filters' => url('admin/config/content/formats')));
 
     case 'filter#short-tip':
       return t('You may add links to files uploaded with this node <a href="!explanation-url">using special tags</a>', array('!explanation-url' => url('filter/tips', array('fragment' => 'image'))));
@@ -120,7 +117,6 @@ function inline_settings() {
   );
 
   $options = array();
-  $options[''] = 'No style';
   foreach ($presets as $id => $name) {
     $options[$id] = $id;
   }
@@ -128,6 +124,7 @@ function inline_settings() {
     '#title' => t('Teaser preset'),
     '#description' => t('Select the style to use for inlined images in teaser view.'),
     '#type' => 'select',
+    '#empty_value' => '',
     '#options' => $options,
     '#default_value' => variable_get('inline_teaser_preset', ''),
   );
@@ -135,6 +132,7 @@ function inline_settings() {
     '#title' => t('Full preset'),
     '#description' => t('Select the style to use for inlined images in full view.'),
     '#type' => 'select',
+    '#empty_value' => '',
     '#options' => $options,
     '#default_value' => variable_get('inline_full_preset', ''),
   );
@@ -164,10 +162,12 @@ function inline_form_alter(&$form, $form_state, $form_id) {
   }
 }
 
+/**
+ * Implements hook_filter_info().
+ */
 function inline_filter_info() {
   $filters['inline'] = array(
-    'title' => t('Inline Filter'),
-    'description' => t('Inline file filter'),
+    'title' => t('Embed attached images and files into node content'),
     'process callback' => '_inline_filter_process',
     'tips callback' => '_inline_filter_tips',
   );
@@ -180,7 +180,7 @@ function inline_filter_info() {
  * Since Inline needs to know which files are attached to a processed node, the
  * original text is simply returned here.
  *
- * @see inline_nodeapi()
+ * @see inline_node_view_alter()
  */
 function _inline_filter_process($text, $filter) {
   return $text;
@@ -209,62 +209,31 @@ function _inline_filter_tips($filter, $format, $long = FALSE) {
 
       <pre>[attachment:file1.pdf=test]</pre>
       will be replaced by <em><code>&lt;a href=file1.png&gt;test&lt;/a&gt;</code></em>') .'</p>';
-  } else {
+  }
+  else {
     return t('You may use <a href="!inline_help">[inline:xx] tags</a> to display uploaded files or images inline.', array('!inline_help' => url("filter/tips/$format->format", array('fragment' => 'filter-inline'))));
   }
 }
 
 function inline_node_view_alter(&$build) {
   $field_name = variable_get('inline_image_default_field', FALSE);
-  if ($field_name == FALSE)
+  if ($field_name == FALSE) {
     return;
-
+  }
   $field_image_info = field_info_field($field_name);
-  if ($field_image_info == NULL)
+  if (!isset($field_image_info)) {
     return '';
-
-  if ($field_image_info['type'] != 'image')
+  }
+  if ($field_image_info['type'] != 'image') {
     return '';
-
-  if (variable_get('upload_inline_'. $build['#node']->type, 0)) {
+  }
+  if (variable_get('upload_inline_' . $build['#node']->type, 0)) {
     _inline_auto_add($build, $field_name);
   }
 
   _inline_substitute_tags($build, $field_name);
 }
 
-function _inline_substitute_tags(&$build, $field_name) {
-  if (!array_key_exists('body', $build)) {
-    return;
-  }
-  if (preg_match_all("/\[(inline|file|attachment):([^=\\]]+)=?([^\\]]*)?\]/i", $build['body']['#items'][0]['value'], $match)) {
-    $s = $r = array();
-    foreach ($match[2] as $key => $value) {
-      // Ensure that we deal with a file object.
-      $file = inline_prepare_file_object(_inline_fileobj($build['#node'], $field_name, $value));
-      if ($file->fid != NULL) {
-        // Set user defined file title if given.
-        $title = $match[3][$key];
-        if (!empty($title)) {
-          $file->title = $title;
-        }
-        // Decide whether to show a link or an image tag.
-        if (_inline_decide_img_tag($file)) {
-          $replace = theme('inline_img', array('file' => $file, 'field' => $field_name));
-        } else {
-          $replace = theme('inline_as_link', array('file' => $file));
-        }
-      } else {
-        $replace = '<span style="color: red; font-weight: bold;">NOT FOUND: '. $value .'</span>';
-      }
-      $s[] = $match[0][$key];
-      $r[] = $replace;
-    }
-    // Perform the replacements and return processed field.
-    $build['body'][0]['#markup'] = str_replace($s, $r, $build['body'][0]['#markup']);
-  }
-}
-
 /**
  * Change file path of new files for previews.
  *
@@ -358,6 +327,43 @@ function _inline_auto_add(&$build, $field_name) {
 }
 
 /**
+ * Replace all Inline tags with their corresponding files or images.
+ */
+function _inline_substitute_tags(&$build, $field_name) {
+  if (!isset($build['body'])) {
+    return;
+  }
+  if (preg_match_all("/\[(inline|file|attachment):([^=\\]]+)=?([^\\]]*)?\]/i", $build['body']['#items'][0]['value'], $match)) {
+    $s = $r = array();
+    foreach ($match[2] as $key => $value) {
+      // Ensure that we deal with a file object.
+      $file = inline_prepare_file_object(_inline_fileobj($build['#node'], $field_name, $value));
+      if ($file->fid != NULL) {
+        // Set user defined file title if given.
+        $title = $match[3][$key];
+        if (!empty($title)) {
+          $file->title = $title;
+        }
+        // Decide whether to show a link or an image tag.
+        if (_inline_decide_img_tag($file)) {
+          $replace = theme('inline_img', array('file' => $file, 'field' => $field_name));
+        }
+        else {
+          $replace = theme('inline_as_link', array('file' => $file));
+        }
+      }
+      else {
+        $replace = '<span style="color: red; font-weight: bold;">NOT FOUND: '. $value .'</span>';
+      }
+      $s[] = $match[0][$key];
+      $r[] = $replace;
+    }
+    // Perform the replacements and return processed field.
+    $build['body'][0]['#markup'] = str_replace($s, $r, $build['body'][0]['#markup']);
+  }
+}
+
+/**
  * Decide if an image tag (&lt;IMG&gt;) or a link to a file should be rendered.
  *
  * @param $file
@@ -369,8 +375,6 @@ function _inline_auto_add(&$build, $field_name) {
 function _inline_decide_img_tag($file) {
   $inlined = array('jpg', 'jpeg', 'pjpeg', 'gif', 'png');
   $mime = array_pop(explode('/', $file->filemime));
-  if (in_array($mime, $inlined)) {
-    return TRUE;
-  }
-  return FALSE;
+  return in_array($mime, $inlined);
 }
+
diff --git a/inline.theme.inc b/inline.theme.inc
index cff3f81..304bcf4 100644
--- a/inline.theme.inc
+++ b/inline.theme.inc
@@ -9,38 +9,41 @@
  * Return HTML for a link to a file.
  */
 function theme_inline_as_link($variables) {
-    $file = $variables['file'];
-    // Prepare link text with title or filename.
-    $linktext = ($file->title ? $file->title : $file->filename);
+  $file = $variables['file'];
 
-    return l($linktext, file_create_url($file->filepath), array('attributes' => array('title' => t('Download: @name (@size)', array('@name' => $file->filename, '@size' => format_size($file->filesize))))));
+  // Prepare link text with title or filename.
+  $linktext = ($file->title ? $file->title : $file->filename);
+
+  return l($linktext, file_create_url($file->filepath), array('attributes' => array('title' => t('Download: @name (@size)', array('@name' => $file->filename, '@size' => format_size($file->filesize))))));
 }
 
 /**
  * Return HTML for an image.
  */
 function theme_inline_img($variables) {
-    $file = $variables['file'];
-    $viewmode = $variables['viewmode'];
-    // Prepare link text with inline title, file description or filename.
-    $title = (!empty($file->title) ? $file->title : (!empty($file->description) ? $file->description : $file->filename));
-    $inline_preset = $viewmode == 'summary' ? 'inline_teaser_preset' : 'inline_full_preset';
-
-    if (variable_get($inline_preset, '') != '') {
-        $image = theme('image_style', array('style_name' => variable_get($inline_preset), 'path' => $file->uri, 'alt' => $file->alt, 'title' => $file->title));
-    } else {
-        $image = theme('image', array('path' => $file->uri, 'alt' => $title, 'title' => $title));
-    }
-
-    if (variable_get('inline_link_img', '1')) {
-        $attributes = array(
-            'class' => 'inline-image-link',
-            'title' => t("View") . ': ' . $title,
-        );
-        $html = l($image, $file->uri, array('attributes' => $attributes, 'html' => TRUE));
-    } else {
-        $html = $image;
-    }
-
-    return $html;
+  $file = $variables['file'];
+  $viewmode = $variables['viewmode'];
+  // Prepare link text with inline title, file description or filename.
+  $title = (!empty($file->title) ? $file->title : (!empty($file->description) ? $file->description : $file->filename));
+  $inline_preset = $viewmode == 'summary' ? 'inline_teaser_preset' : 'inline_full_preset';
+
+  if (variable_get($inline_preset, '') != '') {
+    $image = theme('image_style', array('style_name' => variable_get($inline_preset), 'path' => $file->uri, 'alt' => $file->alt, 'title' => $file->title));
+  }
+  else {
+    $image = theme('image', array('path' => $file->uri, 'alt' => $title, 'title' => $title));
+  }
+
+  if (variable_get('inline_link_img', '1')) {
+    $attributes = array(
+      'class' => 'inline-image-link',
+      'title' => t("View") . ': ' . $title,
+    );
+    $html = l($image, $file->uri, array('attributes' => $attributes, 'html' => TRUE));
+  }
+  else {
+    $html = $image;
+  }
+
+  return $html;
 }
