Simplify, merge Lexer and Token