add the encoding function