add first version of lexer