implementing alex's zip functionality