refactored translation