refactored authenticator creation