diff --git a/cronplus.info b/cronplus.info
index 4b6118f..1e1d701 100644
--- a/cronplus.info
+++ b/cronplus.info
@@ -1,3 +1,5 @@
 name = Cronplus
 description = "Cronplus intercepts Drupal's normal cron hook to provide API calls at (nominally) fixed time intervals rather than every cron cycle."
-core = 6.x
+core = 7.x
+
+files[] = cronplus.module
diff --git a/cronplus.module b/cronplus.module
index 007507e..565a281 100644
--- a/cronplus.module
+++ b/cronplus.module
@@ -23,27 +23,29 @@ function cronplus_help($section) {
  */
 function cronplus_menu() {
   $items = array();
-  $items['admin/settings/cronplus'] = array(
-    'title' => t('cronplus'),
+  $items['admin/config/cronplus'] = array(
+    'title' => 'cronplus',
     'page callback' => 'cronplus_settings_main',
     'description' => 'Select which hour and on what day you would like houly and daily crons to run. Also see the status of cronplus',
     'access callback' => 'user_access',
     'access arguments' => array('administer site configuration'),
-//    'type' => MENU_LOCAL_TASK,
+    //    'type' => MENU_LOCAL_TASK,
   );
-  $items['admin/settings/cronplus/main'] = array(
-    'title' => t('configuration'),
+  $items['admin/config/cronplus/main'] = array(
+    'title' => 'configuration',
     'type' => MENU_DEFAULT_LOCAL_TASK,
     'access callback' => 'user_access',
     'access arguments' => array('administer site configuration'),
     'weight' => -10,
   );
-  $items['admin/settings/cronplus/status'] = array(
-    'title' => t('status report'),
-    'page callback' => 'cronplus_settings_status', 'access' => user_access('administer site configuration'),
+  $items['admin/config/cronplus/status'] = array(
+    'title' => 'status report',
+    'page callback' => 'cronplus_settings_status',
+    'access' => user_access('administer site configuration'),
     'access callback' => 'user_access',
     'access arguments' => array('administer site configuration'),
-    'type' => MENU_LOCAL_TASK, 'weight' => 10
+    'type' => MENU_LOCAL_TASK,
+    'weight' => 10,
   );
   return $items;
 }
@@ -80,11 +82,15 @@ function cronplus_settings_form_submit($form_id, $form_values) {
 /**
  * Handle the module's settings.
  */
-function cronplus_settings_main() {  
+function cronplus_settings_main() {
   return drupal_get_form('cronplus_settings_form');
 }
 
-function cronplus_settings_form() {
+/**
+ * @todo Please document this function.
+ * @see http://drupal.org/node/1354
+ */
+function cronplus_settings_form($form) {
   $form = array();
   $form['cronplus_preferred_hour'] = array(
     '#type' => 'select',
@@ -133,12 +139,12 @@ function cronplus_periods() {
 /**
  * Returns a really simple form for viewing the cronplus log entries.
  */
-function cronplus_logview_form() {
+function cronplus_logview_form($form) {
   $form = array(
-     'submit' => array(
-       '#type' => 'submit',
-       '#value' => t('View cronplus log'),
-     ),
+    'submit' => array(
+      '#type' => 'submit',
+      '#value' => t('View cronplus log'),
+    ),
   );
   return $form;
 }
@@ -156,39 +162,40 @@ function cronplus_logview_form_submit($form_id, $form_values) {
  * hooks.
  */
 function cronplus_settings_status() {
-  $html = '<p>'. t('This section lists modules implementing the cronplus hook for each available time period. The listing is purely informational; there are no settings to change here.');
+  $html = '<p>' . t('This section lists modules implementing the cronplus hook for each available time period. The listing is purely informational; there are no settings to change here.');
   $html .= '<p>' . drupal_get_form('cronplus_logview_form');
-  $periods =& cronplus_periods();
+  $periods = & cronplus_periods();
   // Add one special case.
-  $periods['cronplus'] = 'cronplus '. t('(multiplex hook)');
+  $periods['cronplus'] = 'cronplus ' . t('(multiplex hook)');
   foreach ($periods as $period => $period_t) {
-    $html .= '<h2>'. $period_t .'</h2>';
+    $html .= '<h2>' . $period_t . '</h2>';
     $html .= '<div class="cronplus_status">';
-    $hook = ($period == 'cronplus') ? 'cronplus' : 'cronplus_'. $period;
-    $group = '<p>'. t('Hook: {module}_%hook()', array('%hook' => $hook)) .'<p>'. t('Implemented by: ');
+    $hook = ($period == 'cronplus') ? 'cronplus' : 'cronplus_' . $period;
+    $group = '<p>' . t('Hook: {module}_%hook()', array('%hook' => $hook)) . '<p>' . t('Implemented by:') . ' ';
     $modules = module_implements($hook);
     if (count($modules) > 0) {
-      $group .= '<span class="cronplus_modules">'. implode(', ', $modules) .'</span>';
+      $group .= '<span class="cronplus_modules">' . implode(', ', $modules) . '</span>';
     }
-      else {
+    else {
       $group .= t('None');
     }
-    $group .= '<p>'. t('Last invoked: ');
+    $group .= '<p>' . t('Last invoked:') . ' ';
     if ($period == 'cronplus') {
       $group .= t('Invoked along with each of the above');
     }
-      else {
-      $last_invoked = intval(variable_get('cronplus_'. $period .'_last', 0));
-      $group .= $last_invoked ? gmdate('Y-m-d H:i:s', $last_invoked) .'&nbsp;UTC' : t('Never');
+    else {
+      $last_invoked = intval(variable_get('cronplus_' . $period . '_last', 0));
+      $group .= $last_invoked ? gmdate('Y-m-d H:i:s', $last_invoked) . '&nbsp;UTC' : t('Never');
     }
-    $html .= $group .'</div>';
+    $html .= $group . '</div>';
   }
   $html .= '<p>';
-  print theme("page", $html);
+  // TODO Please change this theme call as discussed at http://drupal.org/node/224333#theme_page.
+  // print theme("page", $html);
 }
 
 /**
- * Implements hook_cron. Examines the current date and time, and makes the
+ * Implements hook_cron. Examines the current date and time, and makes the().
  * appropriate calls to other modules based on what parts of the date and
  * time have changed since the last run.
  */
@@ -196,7 +203,7 @@ function cronplus_cron() {
   // Gather information...
   $test_mode = intval(variable_get('cronplus_test_mode', 0));
   $last_cron = intval(variable_get('cronplus_last_cron', 0));
-  $now = time();
+  $now = REQUEST_TIME;
   $now_wkdy  = intval(gmdate('w', $now)); // 0=Sunday
   // For the $now_week, weeks start on Monday, not Sunday. This is a mismatch
   // against $now_wkdy, but it doesn't matter because all we are looking for
@@ -206,25 +213,25 @@ function cronplus_cron() {
   $now_year  = intval(gmdate('Y', $now));
   $now_date  = gmdate('Y-m-d', $now);
   $now_hour  = intval(gmdate('H', $now));
-  
+
   // Gather the last time each cronplus hook was invoked
   $cronplus_hourly_last  = intval(variable_get('cronplus_hourly_last', 0));
   $cronplus_daily_last   = intval(variable_get('cronplus_daily_last', 0));
   $cronplus_weekly_last  = intval(variable_get('cronplus_weekly_last', 0));
   $cronplus_monthly_last = intval(variable_get('cronplus_monthly_last', 0));
   $cronplus_yearly_last  = intval(variable_get('cronplus_yearly_last', 0));
-  
+
   $last_cron_hour = intval(gmdate('H', $cronplus_hourly_last));
   $last_cron_day  = gmdate('Y-m-d', $cronplus_daily_last);
   $last_cron_week = intval(gmdate('W', $cronplus_weekly_last));
   $last_cron_month = gmdate('Y-m', $cronplus_monthly_last);
   $last_cron_year = intval(gmdate('Y', $cronplus_yearly_last));
-  
+
   // Preferred hour affects daily, weekly, monthly, and yearly runs
   $prefer_hour = intval(variable_get('cronplus_preferred_hour', 0));
   // Preferred wkdy affects weekly, monthly, and yearly runs
   $prefer_wkdy = intval(variable_get('cronplus_preferred_wkdy', 0));
-  $interval = $now - $last_cron;   // Seconds since last run
+  $interval = $now - $last_cron; // Seconds since last run
 
   // Make the appropriate runs. In each case, we try to run in the preferred
   // window, but if it's been too long since the last run, we toss the
@@ -251,17 +258,17 @@ function cronplus_cron() {
     cronplus_invoke_hook('daily', $now, $last_cron);
   }
   // Weekly
-  if ($test_mode || ($now_week != $last_cron_week && (($now_wkdy >= $prefer_wkdy && $now_hour >= $prefer_hour) || $interval > (86400*8)))) {
+  if ($test_mode || ($now_week != $last_cron_week && (($now_wkdy >= $prefer_wkdy && $now_hour >= $prefer_hour) || $interval > (86400 * 8)))) {
     sleep(1);
     cronplus_invoke_hook('weekly', $now, $last_cron);
   }
   // Monthly
-  if ($test_mode || ($now_month != $last_cron_month && (($now_wkdy >= $prefer_wkdy && $now_hour >= $prefer_hour) || $interval > 86400*35))) {
+  if ($test_mode || ($now_month != $last_cron_month && (($now_wkdy >= $prefer_wkdy && $now_hour >= $prefer_hour) || $interval > 86400 * 35))) {
     sleep(1);
     cronplus_invoke_hook('monthly', $now, $last_cron);
   }
   // Yearly
-  if ($test_mode || ($now_year > $last_cron_year && (($now_wkdy >= $prefer_wkdy && $now_hour >= $prefer_hour) || $interval > (86400*380)))) {
+  if ($test_mode || ($now_year > $last_cron_year && (($now_wkdy >= $prefer_wkdy && $now_hour >= $prefer_hour) || $interval > (86400 * 380)))) {
     sleep(1);
     cronplus_invoke_hook('yearly', $now, $last_cron);
   }
@@ -277,26 +284,26 @@ function cronplus_cron() {
  */
 function cronplus_invoke_hook($period, $now, $last_cron) {
   $now_fmt = gmdate('Y-m-d H:i:s', $now);
-  $function_name = 'cronplus_'. $period;
-  $last_this = variable_get($function_name .'_last', 0);
-  variable_set($function_name .'_last', $now);
+  $function_name = 'cronplus_' . $period;
+  $last_this = variable_get($function_name . '_last', 0);
+  variable_set($function_name . '_last', $now);
   watchdog('cronplus', 'Processing %period cron for %d UTC, calling {module}_%func() for all modules', array('%d' => $now_fmt, '%period' => t($period), '%func' => $function_name), WATCHDOG_NOTICE);
   @module_invoke_all($function_name, $now, $last_cron, $last_this);
   @module_invoke_all('cronplus', $period, $now, $last_cron, $last_this);
-} 
+}
 
 /**
  * Returns an associative array filled with integers pointing to themselves, or
  * to the corresponding values from the $values array, if specified. The values
  * are translated if $translate is TRUE.
  */
-function _cronplus_int_options($min, $max, $values=NULL, $translate=FALSE) {
+function _cronplus_int_options($min, $max, $values = NULL, $translate = FALSE) {
   $options = array();
-  for ($i=$min; $i<=$max; $i++) {
+  for ($i = $min; $i <= $max; $i++) {
     if (is_array($values) && isset($values[$i])) {
       $options[$i] = $translate ? t($values[$i]) : $values[$i];
     }
-      else {
+    else {
       $options[$i] = $i;
     }
   }
