zip logic