diff --git a/cron.php b/cron.php
index 8354665..f307a0d 100755
--- a/cron.php
+++ b/cron.php
@@ -37,12 +37,12 @@ class Cron {
     }
     
     private function send_reminder($user, $loans) {
-        $subject_template = "DMC Helpdesk: Du har ¤count¤ försenade lån";
+        $subject_template = "DSV Helpdesk: Du har ¤count¤ ¤late¤ lån";
         $reminder_template = "¤name¤, försenad sedan ¤due¤\n";
         $message_template = <<<EOF
 Hej ¤name¤
 
-Vi vill påminna dig om att ditt lån av följande artiklar har gått ut:
+Vi vill påminna dig om att ditt lån av följande ¤product¤ har gått ut:
 
 ¤list¤
 
@@ -50,22 +50,30 @@ Vänligen återlämna dem till Helpdesk så snart som möjligt, alternativt kont
 oss för att få lånet förlängt.
 
 Mvh
-DMC Helpdesk
+DSV Helpdesk
 helpdesk@dsv.su.se
 08 - 16 16 48
 EOF;
 
         $overdue_count = count($loans);
         $reminder_list = '';
+        $late = 'försenat';
+        $product = 'artikel';
+        if($count > 1) {
+            $late = 'försenade';
+            $product = 'artiklar';
+        }
         foreach($loans as $loan) {
             $replacements = array('name' => $loan->get_product()->get_name(),
                                   'due'  => $loan->get_duration()['end']);
             $reminder_list .= replace($replacements, $reminder_template);
         }
 
-        $subject = replace(array('count' => $overdue_count), $subject_template);
-        $message = replace(array('name' => $user->get_displayname(),
-                                 'list' => $reminder_list), $message_template);
+        $subject = replace(array('count' => $overdue_count,
+                                 'late'  => $late), $subject_template);
+        $message = replace(array('name'    => $user->get_displayname(),
+                                 'list'    => $reminder_list,
+                                 'product' => $product), $message_template);
 
         try {
             mb_send_mail($user->get_email(),
@@ -75,7 +83,8 @@ EOF;
         } catch(Exception $e) {
             mb_send_mail('root@dsv.su.se',
                          "Kunde inte skicka påminnelse",
-                         "Påminnelse kunde inte skickas till ".$user->get_name());
+                         "Påminnelse kunde inte skickas till "
+                         .$user->get_name());
         }
     }
 }
diff --git a/html/fragments.html b/html/fragments.html
index d1170b7..a277137 100644
--- a/html/fragments.html
+++ b/html/fragments.html
@@ -403,6 +403,7 @@
 <form class="dark"
       action="./"
       method="GET">
+  <datalist id="userlist"></datalist>
   <input type="hidden"
          name="page"
          value="checkout" />
@@ -410,8 +411,11 @@
     <span class="label">
       Användarnamn:
     </span>
-    <input type="text"
+    <input onFocus="JavaScript:suggest(this, 'user')"
+           type="text"
            name="user"
+           list="userlist"
+           autocomplete="off"
            placeholder="Användarnamn"
            value="¤user¤"
            required />
@@ -428,6 +432,13 @@
            value="¤displayname¤"
            disabled />
   </div>
+  <div>
+    <span class="label">
+      Anteckningar:
+    </span>
+    <textarea name="notes"
+              disabled>¤notes¤</textarea>
+  </div>
 </form>
 <h2>Låna ut artikel</h2>
 <form class="light"
diff --git a/include/db.php b/include/db.php
index d632d83..a9d0c4a 100644
--- a/include/db.php
+++ b/include/db.php
@@ -83,42 +83,39 @@ function get_items($type) {
     return $list;
 }
 
-function get_tags() {
-    $search = prepare(
-        '(select `tag` from `product_tag`)
-         union
-         (select `tag` from `template_tag`)
-         order by `tag`'
-    );
-    execute($search);
-    $out = array();
-    foreach(result_list($search) as $row) {
-        $out[] = $row['tag'];
+function suggest($type) {
+    $search = '';
+    $typename = 'name';
+    switch($type) {
+        case 'user':
+            $search = prepare('select `name` from `user` order by `name`');
+            break;
+        case 'template':
+            $search = prepare('select `name` from `template` order by `name`');
+            break;
+        case 'tag':
+            $search = prepare(
+                '(select `tag` from `product_tag`)
+                 union
+                 (select `tag` from `template_tag`)
+                 order by `tag`');
+            $typename = 'tag';
+            break;
+        case 'field':
+            $search = prepare(
+                '(select `field` from `product_info`)
+                 union
+                 (select `field` from `template_info`)
+                 order by `field`');
+            $typename = 'field';
+            break;
+        default:
+            return array();
     }
-    return $out;
-}
-
-function get_fields() {
-    $search = prepare(
-        '(select `field` from `product_info`)
-         union
-         (select `field` from `template_info`)
-         order by `field`'
-    );
     execute($search);
     $out = array();
     foreach(result_list($search) as $row) {
-        $out[] = $row['field'];
-    }
-    return $out;
-}
-
-function get_templates() {
-    $search = prepare('select `name` from `template` order by `name`');
-    execute($search);
-    $out = array();
-    foreach(result_list($search) as $row) {
-        $out[] = $row['name'];
+        $out[] = $row[$typename];
     }
     return $out;
 }
diff --git a/include/view.php b/include/view.php
index 06792eb..276493a 100644
--- a/include/view.php
+++ b/include/view.php
@@ -38,7 +38,7 @@ abstract class Page extends Responder {
     protected abstract function render_body();
     
     protected $page = 'checkout';
-    protected $title = "Boka2";
+    protected $title = "DSV Utlåning";
     protected $subtitle = '';
     protected $error = null;
     protected $menuitems = array('checkout' => 'Låna',
@@ -666,12 +666,14 @@ class CheckoutPage extends Page {
     protected function render_body() {
         $username = '';
         $displayname = '';
+        $notes = '';
         $loan_table = '';
         $subhead = '';
         $enddate = gmdate('Y-m-d', time() + 604800); # 1 week from now
         if($this->user !== null) {
             $username = $this->user->get_name();
             $displayname = $this->user->get_displayname();
+            $notes = $this->user->get_notes();
             $loans = $this->user->get_loans('active');
             $loan_table = 'Inga pågående lån.';
             if($loans) {
@@ -682,6 +684,7 @@ class CheckoutPage extends Page {
         }
         print(replace(array('user' => $this->userstr,
                             'displayname' => $displayname,
+                            'notes' => $notes,
                             'end' => $enddate,
                             'subtitle' => $subhead,
                             'loan_table' => $loan_table),
@@ -878,7 +881,17 @@ class Ajax extends Responder {
         $loan = $product->get_active_loan();
         if($loan) {
             $loan->end();
-            return new Success($product->get_name() . ' har lämnats tillbaka.');
+            $user = $loan->get_user();
+            $userlink = replace(array('page' => 'users',
+                                      'id'   => $user->get_id(),
+                                      'name' => $user->get_displayname()),
+                                $this->fragments['item_link']);
+            $productlink = replace(array('page' => 'products',
+                                         'id'   => $product->get_id(),
+                                         'name' => $product->get_name()),
+                                   $this->fragments['item_link']);
+            $user = $loan->get_user();
+            return new Success($productlink . ' åter från ' . $userlink);
         }
         return new Failure('Artikeln är inte utlånad.');
     }
@@ -1099,19 +1112,7 @@ class Ajax extends Responder {
     }
     
     private function suggest() {
-        switch($_POST['type']) {
-            case 'tag':
-                return new Success(get_tags());
-                break;
-            case 'field':
-                return new Success(get_fields());
-                break;
-            case 'template':
-                return new Success(get_templates());
-                break;
-            default:
-                return new Failure('Invalid type.');
-        }
+        return new Success(suggest($_POST['type']));
     }
 
     private function discard_product() {
diff --git a/script.js b/script.js
index 2e77a09..9003b93 100644
--- a/script.js
+++ b/script.js
@@ -153,6 +153,7 @@ function inventoryProduct(event) {
 
 function suggest(input, type) {
     var existing = []
+    var capitalize = true
     switch(type) {
     default:
         return showResult({'type':'error',
@@ -173,6 +174,9 @@ function suggest(input, type) {
         break
     case 'template':
         break
+    case 'user':
+        capitalize = false
+        break
     }
     var render = function(result) {
         var suggestlist = document.querySelector('#' + type + 'list')
@@ -186,8 +190,12 @@ function suggest(input, type) {
                 continue
             }
             var next = document.createElement('option')
-            next.value = suggestion.charAt(0).toUpperCase()
-                + suggestion.slice(1)
+            if(capitalize) {
+                next.value = suggestion.charAt(0).toUpperCase()
+                    + suggestion.slice(1)
+            } else {
+                next.value = suggestion
+            }
             suggestlist.appendChild(next)
         }
     }
diff --git a/style.css b/style.css
index 427c320..41d4423 100644
--- a/style.css
+++ b/style.css
@@ -96,7 +96,7 @@ thead th, tfoot tr {
     background-color: #c3d1e2;
 }
 
-input:disabled {
+input:disabled, textarea:disabled {
     background-color: #ededed;
 }