recurse when zipping