first version of lexer finished