breadth-first search

A* search later