map2 and bothmatch