A* + tests!