change implementation of best_of