diff --git a/modules/sms_user/sms_user.admin.inc b/modules/sms_user/sms_user.admin.inc
index a12e8b4..bf84d2d 100644
--- a/modules/sms_user/sms_user.admin.inc
+++ b/modules/sms_user/sms_user.admin.inc
@@ -21,7 +21,7 @@ function sms_user_admin_settings($form, &$form_state) {
   $form['sms_user_confirmation_message'] = array(
     '#type' => 'textfield',
     '#title' => t('Confirmation message format'),
-    '#default_value' => variable_get('sms_user_confirmation_message', '[site-name] confirmation code: [confirm-code]'),
+    '#default_value' => variable_get('sms_user_confirmation_message', '[site:name] confirmation code: '),
     '#description' => t('Specify the format for confirmation messages. Keep this as short as possible.'),
     '#size' => 40,
     '#maxlength' => 255,
diff --git a/modules/sms_user/sms_user.info b/modules/sms_user/sms_user.info
index cd20a7e..925b21a 100644
--- a/modules/sms_user/sms_user.info
+++ b/modules/sms_user/sms_user.info
@@ -8,3 +8,9 @@ core = 7.x
 files[] = includes/sms_user_handler_field_number.inc
 files[] = includes/sms_user_handler_field_status.inc
 files[] = includes/sms_user_handler_filter_status.inc
+files[] = sms_user.actions.inc
+files[] = sms_user.install
+files[] = sms_user.module
+files[] = sms_user.rules.inc
+files[] = sms_user.views.inc
+files[] = sms_user.views_default.inc
diff --git a/modules/sms_user/sms_user.module b/modules/sms_user/sms_user.module
index 3b062de..d2579e3 100644
--- a/modules/sms_user/sms_user.module
+++ b/modules/sms_user/sms_user.module
@@ -19,11 +19,11 @@ function sms_user_permission() {
   return array(
     'receive sms' => array(
       'title' => t('receive sms'),
-      'description' => t('TODO Add a description for \'receive sms\''),
+      'description' => t('Receive SMS from the site.'),
     ),
     'edit own sms number' => array(
       'title' => t('edit own sms number'),
-      'description' => t('TODO Add a description for \'edit own sms number\''),
+      'description' => t('Edit own SMS number.'),
     ),
   );
 }
@@ -69,7 +69,6 @@ function sms_user_edit_access($account) {
  */
 function sms_user_send($uid, $message) {
   $account = user_load($uid);
-  
   //Check if the user is enabled to receive SMS
   if (user_access('receive sms', $account)) {
     if ($account->sms_user[0]['status'] == 2) {
@@ -91,7 +90,7 @@ function sms_user_get_uid($number, $status = NULL) {
   $query = db_select('sms_user', 'u')
     ->fields('u', array('uid'))
     ->condition('number', $number);
-   
+
   if (isset($status)) {
     $query->condition('status', $status);
   }
@@ -145,7 +144,7 @@ function _sms_user_sleep_active($account) {
  * Menu callback; provides the forms for adding and confirming a user's mobile number.
  */
 function sms_user_settings($account) {
-  dsm($account);
+  //dsm($account);
   switch (isset($account->sms_user) ? $account->sms_user['status'] : 0) {
     case 0:
       $output = drupal_get_form('sms_user_settings_add_form', $account);
@@ -166,8 +165,7 @@ function sms_user_settings($account) {
 }
 
 /**
- * @todo Please document this function.
- * @see http://drupal.org/node/1354
+ * Displays the user settings form.
  */
 function sms_user_settings_add_form($form, &$form_state, $account) {
   $form = sms_send_form();
@@ -184,8 +182,7 @@ function sms_user_settings_add_form($form, &$form_state, $account) {
 }
 
 /**
- * @todo Please document this function.
- * @see http://drupal.org/node/1354
+ * Validate the users number.
  */
 function sms_user_settings_add_form_validate($form, &$form_state) {
   if ($error = sms_user_validate_number($form_state['values']['number'])) {
@@ -220,7 +217,7 @@ function sms_user_settings_confirm_form($form, &$form_state, $account) {
   $form['number'] = array(
     '#type' => 'item',
     '#title' => t('Mobile phone number'),
-    '#value' => $account->sms_user['number'],
+    '#markup' => $account->sms_user['number'],
   );
   $form['confirm_code'] = array(
     '#type' => 'textfield',
@@ -290,7 +287,7 @@ function sms_user_settings_reset_form($form, &$form_state, $account) {
   $form['sms_user']['number'] = array(
     '#type' => 'item',
     '#title' => t('Your mobile phone number'),
-    '#value' => $account->sms_user['number'],
+    '#markup' => $account->sms_user['number'],
     '#description' => t('Your mobile phone number has been confirmed.'),
   );
 
@@ -450,8 +447,7 @@ function sms_user_user_view($account, $view_mode) {
     $account->content['sms']['number'] = array(
       '#type' => 'user_profile_item',
       '#title' => t(''),
-      // @todo - theme function to format number.
-      '#value' => isset($account->sms_user['number']) ? $account->sms_user['number'] : '',
+      '#markup' => isset($account->sms_user['number']) ? $account->sms_user['number'] : '',
     );
   }
 }
@@ -518,6 +514,7 @@ function sms_user_user_load($users) {
 
   foreach ($result as $record) {
     if (!empty($record->uid)) {
+      $record->gateway = unserialize($record->gateway);
       $users[$record->uid]->sms_user = (array)$record;
 
       // @todo: the following is to support messaging that expect account details
@@ -534,13 +531,13 @@ function sms_user_user_load($users) {
  */
 function sms_user_save(&$edit, &$account, $category) {
   if (($category == 'mobile' || $category == 'account') && isset($edit['sms_user'])) {
-    dsm($edit);
+    //dsm($edit);
     $number = (object)$edit['sms_user'];
     $number->uid = $account->uid;
-    dsm($number);
+    //dsm($number);
 
     $primary_keys = array();
-    if ($account->sms_user['status'] == SMS_USER_PENDING && $edit['sms_user']['status'] == SMS_USER_CONFIRMED) { // is existing
+    if (isset($account->sms_user) && $account->sms_user['status'] == SMS_USER_PENDING && $edit['sms_user']['status'] == SMS_USER_CONFIRMED) { // is existing
       $primary_keys = array('number');
     }
     drupal_write_record('sms_user', $number, $primary_keys);
@@ -563,17 +560,12 @@ function sms_user_save(&$edit, &$account, $category) {
  * @see sms_user_user()
  */
 function sms_user_delete($uid, $number = FALSE) {
-  $db_args = array($uid);
-
-  if ($number == FALSE) {
-    $number_where = '';
-  }
-  else {
-    $number_where = "AND number = '%s'";
-    $db_args[] = $number;
+  $query = db_delete('sms_user')
+    ->condition('uid', $uid);
+  if ($number) {
+    $query->condition('number', $number);
   }
-  // TODO Please convert this statement to the D7 database API syntax.
-  db_query("DELETE FROM {sms_user} WHERE uid = %d $number_where", $db_args);
+  $num_deleted = $query->execute();
 }
 
 /**
@@ -587,9 +579,8 @@ function sms_user_delete($uid, $number = FALSE) {
  *   Created message, ready to send to user.
  */
 function _sms_user_confirm_message($code) {
-  $text_format = variable_get('sms_user_confirmation_message', '[site-name] confirmation code: [confirm-code]');
-  // @todo: d7 token support
-  //$text = token_replace_multiple($text_format, array('sms_user' => array('confirm-code' => $code)));
+  $text_format = variable_get('sms_user_confirmation_message', '[site:name] confirmation code: ') . $code;
+  $text = token_replace($text_format);
   return $text;
 }
 
@@ -844,7 +835,7 @@ function sms_user_authenticate($number) {
 }
 
 /**
- *
+ * Log the current user out.
  */
 function sms_user_logout() {
   global $user;
