working on authentication provider