reworked lexer. First two maybe unnecessary lists are dropped out