add diff. ways of crawling: threads, sync & em