add map function