add language_extend macros