refactor and map union