finish updateClient() api function