introduce index client factory