adding A* search code