added depth first search and some other stuff.
renamed file to make name more appropriate.