improve greedy and plus minmax