map refactor p.2