revise map2