added a class for greedy best first search