split map_search_results, this way the contract can be  phrased more precisely. the two parts of the function had no overlap anyway.