Beginning of language refactoring