the generator is a *lot* better

the code is *crazy* messy, but it does a lot more. after implementing
block/predicate params i'll go ahead and batch run it against everything