avoid creating a client on every request
add auto-refresh support