Kind of added some interfaces to describe the crawling/parsing process