not finished but committing now before the diff gets too big, no errors at the moment, and removed those ugly zips, but the ampersand function is still eluding me... >>> seems good, but it's not quite wanting to evaluate the second term (yet)