now map receives a more general object.