Crawler - singlethreaded, synchronous implementation