add AuthenticationProvider class