reworked lexer/parser and broke a lot of other things