extract zip-parsing into method

* this is hinky thanks to the weird indices but at least this is a start