higher level impl of wrap(map)