A* algorithm implemented