implementation of ElementTraversal interface