bckp
A* implemented/not really tested
A* implemented/not really tested