implemented full astar