Refactored the language