modified client class