complete lexer
fix tests