modified lexer to check ID