added best first search