almost got lexer working