'Translator' struct instead of free functions