some 'lambda' and some 'map' and some 'reduce' and some 'zip'