draft generic astar