added array_map_with_key