implements new authentication method