add comments explaining conditionals in zipObject method