added breadth first search
added depth first search