Cleaning and refactoring about language support.