added is_lexical