mostly working, still need to sort out LL1 errors for arrays