starting grammar and lexer/parser rework