diff --git a/README.txt b/README.txt
index fbb5965..5524185 100644
--- a/README.txt
+++ b/README.txt
@@ -24,7 +24,7 @@ QA - a necessary component of a good online marketing campaign.
 INSTALLATION AND USAGE
 ----------------------
 
-See http://drupal.org/getting-started/5/install-contrib for instructions on
+See http://drupal.org/documentation/install/modules-themes/modules-7 for instructions on
 how to install or update Drupal modules.
 
 Summary:
@@ -41,4 +41,4 @@ Optional:
   help improve your QA Checklist interface. It helps collapse the interface
   into vertical tabs instead of one huge long list of fieldsets. This module
   also works on the add or edit content forms, which is helpful for your site's
-  content creators and editors!
\ No newline at end of file
+  content creators and editors!
diff --git a/qachecklist.admin.inc b/qachecklist.admin.inc
index c38255d..b558bd9 100644
--- a/qachecklist.admin.inc
+++ b/qachecklist.admin.inc
@@ -22,8 +22,13 @@ function qachecklist_admin_settings() {
   $result = db_query($query);
   $group_id = 0;
 
+  // Vertical tab element.
+  $form['qachecklist'] = array(
+    '#type' => 'vertical_tabs',
+  );
+
   // Every group is a fieldset.
-  while ($data = db_fetch_object($result)) {
+  foreach ($result as $data) {
     $group_id = intval($data->id);
 
     $form['group_' . $group_id] = array(
@@ -34,13 +39,13 @@ function qachecklist_admin_settings() {
       '#group' => 'qachecklist',
     );
 
-    $res = db_query("SELECT download, enable, configure, module, completed, id, name, uid FROM {qa_checklist} WHERE group_id = %d ORDER BY order_id", $group_id);
-    while ($row = db_fetch_object($res)) {
+    $res = db_query("SELECT download, enable, configure, module, completed, id, name, uid FROM {qa_checklist} WHERE group_id = :group_id ORDER BY order_id", array(':group_id' => $group_id));
+    foreach ($res as $row) {
       $row->links = array();
 
       if ($row->completed) {
         // Show when and who completed this task.
-        $row->links[] = t('Completed on %date by !username', array('%date' => format_date($row->completed, 'small'), '!username' => theme('username', user_load($row->uid))));
+        $row->links[] = t('Completed on %date by !username', array('%date' => format_date($row->completed, 'small'), '!username' => theme('username', array('account' => user_load($row->uid)))));
       }
       else {
         // Show non-completed sub-tasks.
@@ -95,13 +100,8 @@ function qachecklist_admin_settings() {
     '#weight' => 100,
   );
 
-  if (module_exists('vertical_tabs')) {
-    $form['#pre_render'][] = 'vertical_tabs_form_pre_render';
-    $form['save_above']['#attributes']['class'] = 'js-hide';
-  }
-  else {
-    drupal_set_message(t('Your QA Checklist interface (in addition to your content and content type edit pages) will be greatly enhanced by installing the <a href="@vertical-tabs">Vertical Tabs module</a>.', array('@vertical-tabs' => 'http://drupal.org/project/vertical_tabs')), 'status', FALSE);
-  }
+
+  $form['save_above']['#attributes']['class'][] = 'js-hide';
 
   return $form;
 }
@@ -117,10 +117,10 @@ function qachecklist_admin_settings_submit($form, &$form_state) {
     if (preg_match('/qachecklist_task_/', $key)) {
       $key = explode('_', $key);
       $key = $key[2];
-      $current = (bool) db_result(db_query("SELECT completed FROM {qa_checklist} WHERE id = %d", $key));
+      $current = (bool) db_query("SELECT completed FROM {qa_checklist} WHERE id = :id", array(':id' => $key))->fetchField();
       if ($current != $value) {
         // If the checkbox changed states, update the record.
-        db_query("UPDATE {qa_checklist} SET completed = %d, uid = %d WHERE id = %d", ($value ? time() : 0), $user->uid, $key);
+        db_query("UPDATE {qa_checklist} SET completed = :completed, uid = :uid WHERE id = :id", array(':completed' => ($value ? time() : 0), ':uid' => $user->uid, ':id' => $key));
         $count++;
       }
     }
diff --git a/qachecklist.info b/qachecklist.info
index 65d23d0..f50082d 100644
--- a/qachecklist.info
+++ b/qachecklist.info
@@ -1,4 +1,10 @@
 name = QA Checklist
 description = A Quality Assurance checklist for Drupal.
-core = 6.x
-recommends[] = vertical_tabs
\ No newline at end of file
+core = 7.x
+configure = admin/config/system/qachecklist
+
+; Information added by drupal.org packaging script on 2011-02-25
+version = "7.x-3.x-dev"
+core = "7.x"
+project = "qa_checklist"
+datestamp = "1298620018"
diff --git a/qachecklist.install b/qachecklist.install
index b9e19d9..30dc66a 100644
--- a/qachecklist.install
+++ b/qachecklist.install
@@ -118,14 +118,14 @@ function qachecklist_schema() {
  * Implementation of hook_install().
  */
 function qachecklist_install() {
-  drupal_install_schema('qachecklist');
+  //drupal_install_schema('qachecklist');
 
   $task_fields = "(id, group_id, name, module, download, enable, configure, order_id)";
 
   // Other Checklists
   db_query("INSERT INTO {qa_group} VALUES (1, 'Other Checklists', 'Ensure that other Drupal checklists are installed and completed.')");
   db_query("INSERT INTO {qa_checklist} $task_fields VALUES (1, 1, 'Security Review', 'security_review', 'http://drupal.org/project/security_review', 'admin/build/modules', '', 1)");
-  db_query("INSERT INTO {qa_checklist} $task_fields VALUES (2, 1, 'SEO Checklist', 'seo_checklist', 'http://drupal.org/project/seo_checklist', 'admin/build/modules', '', 2)");
+  db_query("INSERT INTO {qa_checklist} $task_fields VALUES (2, 1, 'SEO Checklist', 'qa_checklist', 'http://drupal.org/project/qa_checklist', 'admin/build/modules', '', 2)");
 
   // Other Modules
   db_query("INSERT INTO {qa_group} VALUES (2, 'Other Modules', 'Other important Drupal modules.')");
diff --git a/qachecklist.module b/qachecklist.module
index 3529072..8a6905e 100644
--- a/qachecklist.module
+++ b/qachecklist.module
@@ -9,23 +9,28 @@
  * Implementation of hook_help().
  */
 function qachecklist_help($path, $arg) {
-  if ($path == 'admin/settings/qachecklist') {
+  if ($path == 'admin/config/search/qachecklist') {
     return '<p>' . t('Check off each QA-related task as you complete it. Do not forget to click the <em>Save</em> button!') . '</p>';
   }
 }
 
 /**
- * Implementation of hook_perm().
+ * Implementation of hook_permission().
  */
-function qachecklist_perm() {
-  return array('access qachecklist content');
+function qachecklist_permission() {
+  return array(
+    'access qachecklist content' => array(
+      'title' => t('Access QAchecklist Content'),
+      'description' => t('Access to QA Checklist.'),
+    ),
+  );
 }
 
 /**
  * Implementation of hook_menu().
  */
 function qachecklist_menu() {
-  $items['admin/settings/qachecklist'] = array(
+  $items['admin/config/search/qachecklist'] = array(
     'title' => 'QA Checklist',
     'description' => 'Keep track of your Drupal QA tasks.',
     'page callback' => 'drupal_get_form',
