implemented updating client