diff --git a/lib/PZ.pm b/lib/PZ.pm
index c9eae0099ad9870762b0b1a979d1773424562ca6..6f92d06bb3ea991cfb3b2bbf11e677a0b26cd50c 100644
--- a/lib/PZ.pm
+++ b/lib/PZ.pm
@@ -43,7 +43,11 @@ sub startup {
         autoload_user => 1,
         load_user => sub {
             my $c = shift;
-            return $c->session->{user};
+            my $user = $c->schema->resultset('User')->find({
+                id => $c->session->{user}{id},
+            });
+            return $user;
+#           return $c->session->{user};
         },
         validate_user => sub {
             my $c = shift;
@@ -61,12 +65,13 @@ sub startup {
     # router
     my $r = $self->routes;
 
-    $r->get('/')->to(cb => sub { shift->render('index'); });
-    $r->post('/')->to('Shortcut#create');
-
     $r->get('/login')->to('OIDC#callback');
     $r->get('/logout')->to('OIDC#do_logout');
 
+    $r->get('/')->to(cb => sub { shift->render('index'); });
+    $r->post('/')->to('Shortcut#create');
+    $r->get('/shortcuts')->to('Shortcut#list');
+
     $r->get('/:shortcut')->to('Shortcut#redirect');
     $r->get('/:shortcut/qr.png')->to('Shortcut#qr');
 
diff --git a/lib/PZ/Controller/Shortcut.pm b/lib/PZ/Controller/Shortcut.pm
index e7a9e3083d49a87c38286ace2e81f57bcb6bea4d..cfdb2336b207751ce7108c01e35fd051034d1e33 100644
--- a/lib/PZ/Controller/Shortcut.pm
+++ b/lib/PZ/Controller/Shortcut.pm
@@ -34,7 +34,7 @@ sub create ($c) {
     }
 
     my %data = (
-        user_id => $c->current_user->{id},
+        user_id => $c->current_user->id,
         deleted => undef,
         url     => $url,
     );
diff --git a/lib/PZ/Schema/Result/User.pm b/lib/PZ/Schema/Result/User.pm
index 58034ccb8dd1ac192cfdc4c23ce1c1858c8a7272..14b110268cdb44be8e6a85db3187f2d4264bbda9 100644
--- a/lib/PZ/Schema/Result/User.pm
+++ b/lib/PZ/Schema/Result/User.pm
@@ -39,6 +39,11 @@ __PACKAGE__->add_unique_constraint(
     'token' => [qw(token)]
 );
 
+__PACKAGE__->has_many(
+    shortcuts => 'PZ::Schema::Result::Shortcut',
+    { 'foreign.user_id' => 'self.id', },
+);
+
 sub set_token {
     my $self = shift;
     my $new  = shift;