interactive translator is refactored