added IClientAdapter interface