implomented devise