added zip' function (recursion)