A C++ A* implimentation