map refactor