upadted traversal