update encoder
update decoder