added token exchange