map works like a champ