Wrote new lexer with new interface