began refactoring translate