fix map and add fun_map