client restructure