Start some major work on lexer.

And on few other things.