use zip instead of index lookups