adding depth first traversal