breadth & depth first object traversal