use traversal instead of url_dispatch