refactor translation