A* pathfinding complete