more robust zip parsing and new tests