impl client mgr
optimize