add encoder/decoer