diff --git a/README.md b/README.md
index 521cce3..9ad4ed2 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
 
 This package provides Yahoo OAuth 2.0 support for the PHP League's [OAuth 2.0 Client](https://github.com/thephpleague/oauth2-client).
 
-This package is compliant with [PSR-1][], [PSR-2][] and [PSR-4][]. If you notice compliance oversights, please send
+This package is compliant with [PSR-1](https://www.php-fig.org/psr/psr-1/), [PSR-2](https://www.php-fig.org/psr/psr-2/) and [PSR-4](https://www.php-fig.org/psr/psr-4/). If you notice compliance oversights, please send
 a patch via pull request.
 
 
@@ -13,9 +13,9 @@ a patch via pull request.
 
 The following versions of PHP are supported.
 
-* PHP 5.5
 * PHP 5.6
 * PHP 7.0
+* PHP 7.1
 * HHVM
 
 ## Installation
@@ -148,7 +148,6 @@ $ ./vendor/bin/phpunit
 - [Ravishanker Kusuma](https://github.com/hayageek/) 
 
 
-
 ## License
 
 The MIT License (MIT). Please see [License File](https://github.com/hayageek/oauth2-yahoo/blob/master/LICENSE) for more information.
diff --git a/composer.json b/composer.json
index dbbd852..aa61160 100644
--- a/composer.json
+++ b/composer.json
@@ -7,6 +7,10 @@
             "name": "Ravishanker Kusuma",
             "email": "hayageek@gmail.com",
             "homepage": "http://hayageek.com"
+        },
+        {
+            "name": "Timothy Asp",
+            "email": "tim@asp.consulting"
         }
     ],
     "keywords": [
@@ -20,7 +24,7 @@
     "minimum-stability": "dev",
     "prefer-stable" : true,
     "require": {
-        "league/oauth2-client": "^1.0"
+        "league/oauth2-client": "^2.0"
     },
     "require-dev": {
         "phpunit/phpunit": "~4.0",
diff --git a/examples/provider.php b/examples/provider.php
index 171b8b7..5a217ed 100644
--- a/examples/provider.php
+++ b/examples/provider.php
@@ -7,10 +7,10 @@
 // Replace these with your token settings
 // Create a project at https://developer.yahoo.com/apps
 
-$clientId     = '<your_client_id>';
+$clientId = '<your_client_id>';
 $clientSecret = '<yout_client_secret>';
 // Change this if you are not using the built-in PHP server
-$redirectUri  = 'http://myapp.com/index.php';
+$redirectUri = 'http://myapp.com/index.php';
 
 // Start the session
 session_start();
diff --git a/examples/user.php b/examples/user.php
index c350582..bbee618 100644
--- a/examples/user.php
+++ b/examples/user.php
@@ -15,16 +15,16 @@
 
 
     // We got an access token, let's now get the user's details
-	$ownerDetails = $provider->getResourceOwner($token);
+    $ownerDetails = $provider->getResourceOwner($token);
 
     // Use these details to create a new profile
 
-    echo 'Name: '.$ownerDetails->getName()."<br>";
-    echo 'FirstName: '.$ownerDetails->getFirstName()."<br>";
-    echo 'Lastname: '.$ownerDetails->getLastName()."<br>";
-    
-    echo 'Email: '.$ownerDetails->getEmail()."<br>";
-    echo 'Image: '.$ownerDetails->getAvatar()."<br>";    
+    echo 'Name: ' . $ownerDetails->getName() . "<br>";
+    echo 'FirstName: ' . $ownerDetails->getFirstName() . "<br>";
+    echo 'Lastname: ' . $ownerDetails->getLastName() . "<br>";
+
+    echo 'Email: ' . $ownerDetails->getEmail() . "<br>";
+    echo 'Image: ' . $ownerDetails->getAvatar() . "<br>";
 
 } catch (Exception $e) {
 
@@ -35,13 +35,13 @@
 
 
 // Use this to interact with an API on the users behalf
-echo "Token: ". $token->getToken()."<br>";
+echo "Token: " . $token->getToken() . "<br>";
 
 // Use this to get a new access token if the old one expires
-echo  "Refresh Token: ".$token->getRefreshToken()."<br>";
+echo "Refresh Token: " . $token->getRefreshToken() . "<br>";
 
 // Number of seconds until the access token will expire, and need refreshing
-echo "Expires:" .$token->getExpires()."<br>";
+echo "Expires:" . $token->getExpires() . "<br>";
 
 
 echo "After Refreshing Token <br>";
@@ -50,10 +50,10 @@
 $token = $provider->getAccessToken($grant, ['refresh_token' => $token->getRefreshToken()]);
 
 // Use this to interact with an API on the users behalf
-echo "Token: ". $token->getToken()."<br>";
+echo "Token: " . $token->getToken() . "<br>";
 
 // Use this to get a new access token if the old one expires
-echo  "Refresh Token: ".$token->getRefreshToken()."<br>";
+echo "Refresh Token: " . $token->getRefreshToken() . "<br>";
 
 // Number of seconds until the access token will expire, and need refreshing
-echo "Expires:" .$token->getExpires()."<br>";
+echo "Expires:" . $token->getExpires() . "<br>";
diff --git a/src/Provider/Yahoo.php b/src/Provider/Yahoo.php
index 4b82657..be2082b 100644
--- a/src/Provider/Yahoo.php
+++ b/src/Provider/Yahoo.php
@@ -14,14 +14,12 @@ class Yahoo extends AbstractProvider
 
     const ACCESS_TOKEN_RESOURCE_OWNER_ID = 'xoauth_yahoo_guid';
 
-
     /*
     https://developer.yahoo.com/oauth2/guide/flows_authcode/#step-2-get-an-authorization-url-and-authorize-access
     */
     protected $language = "en-us";
 
-    private $imageSize='192x192';
-
+    private $imageSize = '192x192';
 
     public function getBaseAuthorizationUrl()
     {
@@ -35,30 +33,29 @@ public function getBaseAccessTokenUrl(array $params)
 
     public function getResourceOwnerDetailsUrl(AccessToken $token)
     {
-    
         $guid = $token->getResourceOwnerId();
-    
-        return 'https://social.yahooapis.com/v1/user/'.$guid.'/profile?format=json';
+
+        return 'https://social.yahooapis.com/v1/user/' . $guid . '/profile?format=json';
     }
-    
+
     /**
      * Get user image from provider
      *
-     * @param  array        $response
-     * @param  AccessToken  $token
+     * @param  array $response
+     * @param  AccessToken $token
      *
      * @return array
      */
     protected function getUserImage(array $response, AccessToken $token)
     {
         $guid = $token->getResourceOwnerId();
-        
-        $url = 'https://social.yahooapis.com/v1/user/'.$guid.'/profile/image/'.$this->imageSize.'?format=json';
-        
+
+        $url = 'https://social.yahooapis.com/v1/user/' . $guid . '/profile/image/' . $this->imageSize . '?format=json';
+
         $request = $this->getAuthenticatedRequest('get', $url, $token);
-        
+
         $response = $this->getResponse($request);
-        
+
         return $response;
     }
 
@@ -73,9 +70,9 @@ protected function getAuthorizationParameters(array $options)
 
     protected function getDefaultScopes()
     {
-    /*
-       No scope is required. scopes are part of APP Settings.
-    */
+        /*
+           No scope is required. scopes are part of APP Settings.
+        */
         return [];
     }
 
@@ -86,16 +83,15 @@ protected function getScopeSeparator()
 
     protected function checkResponse(ResponseInterface $response, $data)
     {
-    
         if (!empty($data['error'])) {
-            $code  = 0;
+            $code = 0;
             $error = $data['error'];
-            
+
             if (is_array($error)) {
-            /*
-               No code is returned in the error
-            */
-                $code  = -1;
+                /*
+                   No code is returned in the error
+                */
+                $code = -1;
                 $error = $error['description'];
             }
             throw new IdentityProviderException($error, $code, $data);
@@ -105,25 +101,24 @@ protected function checkResponse(ResponseInterface $response, $data)
     protected function createResourceOwner(array $response, AccessToken $token)
     {
         $user = new YahooUser($response);
-        
+
         $imageUrl = $this->getUserImageUrl($response, $token);
-        
+
         return $user->setImageURL($imageUrl);
-        
     }
-    
+
     /**
      * Get user image url from provider, if available
      *
-     * @param  array        $response
-     * @param  AccessToken  $token
+     * @param  array $response
+     * @param  AccessToken $token
      *
      * @return string
      */
     protected function getUserImageUrl(array $response, AccessToken $token)
     {
         $image = $this->getUserImage($response, $token);
-        
+
         if (isset($image['image']['imageUrl'])) {
             return $image['image']['imageUrl'];
         }
diff --git a/src/Provider/YahooUser.php b/src/Provider/YahooUser.php
index 051db9b..4d2141e 100644
--- a/src/Provider/YahooUser.php
+++ b/src/Provider/YahooUser.php
@@ -1,4 +1,5 @@
 <?php
+
 namespace Hayageek\OAuth2\Client\Provider;
 
 use League\OAuth2\Client\Provider\ResourceOwnerInterface;
@@ -9,7 +10,7 @@ class YahooUser implements ResourceOwnerInterface
      * @var array
      */
     protected $response;
-    
+
 
     /**
      * @var image URL
@@ -40,7 +41,7 @@ public function getName()
         nickname is not coming in the response.
         $this->response['profile']['nickname']
         */
-        return $this->getFirstName()." ".$this->getLastName();
+        return $this->getFirstName() . " " . $this->getLastName();
     }
 
     /**
diff --git a/test/Bootstrap.php b/test/Bootstrap.php
index 8941eb9..69b974a 100644
--- a/test/Bootstrap.php
+++ b/test/Bootstrap.php
@@ -23,14 +23,14 @@ protected static function initAutoloader()
     {
         $vendorPath = static::findParentPath('vendor');
 
-        $loader = include $vendorPath.'/autoload.php';
+        $loader = include $vendorPath . '/autoload.php';
     }
 
     protected static function findParentPath($path)
     {
         $dir = __DIR__;
         $previousDir = '.';
-        while (!is_dir($dir.'/'.$path)) {
+        while (!is_dir($dir . '/' . $path)) {
             $dir = dirname($dir);
             if ($previousDir === $dir) {
                 return false;
@@ -38,7 +38,7 @@ protected static function findParentPath($path)
             $previousDir = $dir;
         }
 
-        return $dir.'/'.$path;
+        return $dir . '/' . $path;
     }
 }
 
diff --git a/test/src/Provider/YahooTest.php b/test/src/Provider/YahooTest.php
index 114d584..54af285 100644
--- a/test/src/Provider/YahooTest.php
+++ b/test/src/Provider/YahooTest.php
@@ -1,9 +1,10 @@
 <?php
+
 namespace Hayageek\OAuth2\Client\Test\Provider;
-require(__DIR__ .'/../../../vendor/autoload.php');
 
-use Hayageek\OAuth2\Client\Provider\Yahoo as YahooProvider;
+require(__DIR__ . '/../../../vendor/autoload.php');
 
+use Hayageek\OAuth2\Client\Provider\Yahoo as YahooProvider;
 use Mockery as m;
 
 class YahooTest extends \PHPUnit_Framework_TestCase
@@ -41,18 +42,18 @@ public function testAuthorizationUrl()
         $this->assertArrayHasKey('language', $query);
 
         $this->assertEquals('mock_client_id', $query['client_id']);
-		$this->assertEquals('none', $query['redirect_uri']);
-		$this->assertEquals('en-us', $query['language']);
-		$this->assertEquals('code', $query['response_type']);
-		
-        
+        $this->assertEquals('none', $query['redirect_uri']);
+        $this->assertEquals('en-us', $query['language']);
+        $this->assertEquals('code', $query['response_type']);
+
+
         $this->assertAttributeNotEmpty('state', $this->provider);
     }
 
     public function testBaseAccessTokenUrl()
     {
         $url = $this->provider->getBaseAccessTokenUrl([]);
-        
+
         $uri = parse_url($url);
         parse_str($uri['path'], $query);
 
@@ -63,28 +64,31 @@ public function testResourceOwnerDetailsUrl()
     {
         $token = m::mock('League\OAuth2\Client\Token\AccessToken');
 
-		$token->shouldReceive('getResourceOwnerId')->once()->andReturn('mocguid');
+        $token->shouldReceive('getResourceOwnerId')->once()->andReturn('mocguid');
 
         $url = $this->provider->getResourceOwnerDetailsUrl($token);
         $uri = parse_url($url);
         $this->assertEquals('/v1/user/mocguid/profile', $uri['path']);
 
     }
+
     public function testUserData()
     {
-        $response = json_decode('{"profile":{"guid":"mocguid","emails":[{"handle":"mock_email","id":2,"primary":false,"type":"HOME"}],"familyName":"mock_family_name","givenName":"mock_given_name","uri":"mock_url"}}', true);
-		$imageData = json_decode('{"image": {"uri": "mock_uril","height": 192,"imageUrl": "mock_image_url", "size": "192x192", "width": 192 } }',true);
+        $response = json_decode('{"profile":{"guid":"mocguid","emails":[{"handle":"mock_email","id":2,"primary":false,"type":"HOME"}],"familyName":"mock_family_name","givenName":"mock_given_name","uri":"mock_url"}}',
+            true);
+        $imageData = json_decode('{"image": {"uri": "mock_uril","height": 192,"imageUrl": "mock_image_url", "size": "192x192", "width": 192 } }',
+            true);
 
         $provider = m::mock('Hayageek\OAuth2\Client\Provider\Yahoo[fetchResourceOwnerDetails,getResponse]')->shouldAllowMockingProtectedMethods();;
         $provider->shouldReceive('fetchResourceOwnerDetails')->once()->andReturn($response);
         $provider->shouldReceive('getResponse')->once()->andReturn($imageData);
-        
-        
+
+
         $token = m::mock('League\OAuth2\Client\Token\AccessToken');
-		$token->shouldReceive('getResourceOwnerId')->once()->andReturn('mocguid');
-        
+        $token->shouldReceive('getResourceOwnerId')->once()->andReturn('mocguid');
+
         $user = $provider->getResourceOwner($token);
-        
+
 
         $this->assertInstanceOf('League\OAuth2\Client\Provider\ResourceOwnerInterface', $user);
 
@@ -94,16 +98,16 @@ public function testUserData()
         $this->assertEquals('mock_email', $user->getEmail());
         $this->assertEquals('mock_image_url', $user->getAvatar());
         $this->assertEquals('mock_given_name mock_family_name', $user->getName());
-        
+
 
         $user = $user->toArray();
 
         $this->assertArrayHasKey('guid', $user['profile']);
         $this->assertArrayHasKey('handle', $user['profile']['emails'][0]);
-        $this->assertArrayHasKey('familyName',$user['profile']);
+        $this->assertArrayHasKey('familyName', $user['profile']);
         $this->assertArrayHasKey('givenName', $user['profile']);
         $this->assertArrayHasKey('imageUrl', $user);
-        
+
     }
 
     /**
@@ -120,16 +124,16 @@ public function testErrorResponse()
         $response->shouldReceive('getBody')
             ->andReturn(' { "error" : {"uri" : "moc_uri","lang" : "en-US","description" : "mock_description"}}');
 
-        $provider = m::mock('Hayageek\OAuth2\Client\Provider\Yahoo[sendRequest]')
+        $provider = m::mock('Hayageek\OAuth2\Client\Provider\Yahoo[getResponse]')
             ->shouldAllowMockingProtectedMethods();
 
-        $provider->shouldReceive('sendRequest')
+        $provider->shouldReceive('getResponse')
             ->times(1)
             ->andReturn($response);
 
         $token = m::mock('League\OAuth2\Client\Token\AccessToken');
-		$token->shouldReceive('getResourceOwnerId')->once()->andReturn('mocguid');
-        
+        $token->shouldReceive('getResourceOwnerId')->once()->andReturn('mocguid');
+
         $user = $provider->getResourceOwner($token);
     }
 }