add AuthenticatorComponent and full test with 100% code coverage