reworking parsing and lexer
initial highlighting