lexer wip