more refactor, zip stuff