added zip functions