added 'refresh token' functionality