translation function modified