diff --git a/lib/CF/Schema/Result/User.pm b/lib/CF/Schema/Result/User.pm
index 0f81aa6b551b30e862847ab43d9c0dc42f1646d4..aa043cdc911553f1b3a08ff30035eda1c66aafee 100644
--- a/lib/CF/Schema/Result/User.pm
+++ b/lib/CF/Schema/Result/User.pm
@@ -2,6 +2,8 @@ package CF::Schema::Result::User;
 
 use strict;
 use warnings;
+use feature 'signatures';
+no warnings qw{ experimental::signatures };
 
 use base 'DBIx::Class::Core';
 
@@ -43,8 +45,7 @@ __PACKAGE__->has_many(
     { 'foreign.user_id' => 'self.id', },
 );
 
-sub formatted {
-    my $self = shift;
+sub formatted($self) {
 
     my $user = {
         $self->get_columns,
@@ -56,9 +57,7 @@ sub formatted {
 
 }
 
-sub set_secret {
-    my $self = shift;
-    my $new  = shift;
+sub set_secret($self, $new='') {
 
     return if $self->secret and not $new;
 
@@ -70,10 +69,7 @@ sub set_secret {
 
 }
 
-sub update_roles {
-    my $self       = shift;
-    my $roles_hash = shift;
-
+sub update_roles ($self, $roles_hash) {
     $self->update({
         roles => join ' ', sort keys %{ $roles_hash }
     });