Almost done with lexer