utilized map function