working on lexer.