add encode utils