add depthFirst && breadthFirst