Added base OAuth2 class