implement A* path finding algorithm