huge refactor on translations