add encode helper
add more helpers