recursive search routes