Initial commit
Refactor

- static lexer, crated only once, not every transform call.
- export makeLexer, might be useful somewhere else
- code cleanup