modify return type to map.