renamed to find_solution