lexer done untest
clean shit