improved caching of tokens on client object