functional translation