New and non-shitty A* but probably still shitty