support crawling recursively under specified depth