add more translate tables and recursive case