reduced number of tokens, finished parser rules. needs testing