update codebook