greedy top down