implemented best_choice heuristic