add encode helper