map_control refactor