implementing either map.