comment explain map function