refactoring of language value for better default value support