client mostly done