add traversal capabilities