added greedy, astar