use greedy algo