Update Lexer and added support/test classes